removed vauge mathcrt.lib

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4953 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-02-23 15:10:42 +00:00
parent f47ce901b2
commit e80b4d084c
9 changed files with 58 additions and 381 deletions

View file

@ -23,9 +23,4 @@ docs = Split("""
Import('BuildPlugin env')
if env.has_key('MSVS_VERSION') and float(env['MSVS_VERSION'].replace('Exp','')) >= 8.0:
files += ['Source/mathcrtmt.lib']
else:
files += ['Source/mathcrt.lib']
BuildPlugin(target, files, libs, examples, docs, nodeflib = False, flags = ['$CPP_FLAG'])

View file

@ -1,10 +1,8 @@
#include <windows.h>
#include "mathcrt.h"
#include "MyMath.h"
#include "Math.h"
extern "C" int _fltused;
int _fltused;
ExpressionItem *stack;
int UserVarsCount, UserFuncsCount;
@ -104,26 +102,26 @@ void PlaceVariable(char *&vb, ParseInfo *pi)
#define MATHFUNCNUM 29
const MathFunction MathFunctions[MATHFUNCNUM] = {
{{'s','i','n'}, ITF_MATH1 >> 8, _fsin},
{{'s','n','h'}, ITF_MATH1 >> 8, _fsinh},
{{'a','s','n'}, ITF_MATH1 >> 8, _fasin},
{{'c','o','s'}, ITF_MATH1 >> 8, _fcos},
{{'c','s','h'}, ITF_MATH1 >> 8, _fcosh},
{{'a','c','s'}, ITF_MATH1 >> 8, _facos},
{{'t','a','n'}, ITF_MATH1 >> 8, _ftan},
{{'t','n','h'}, ITF_MATH1 >> 8, _ftanh},
{{'a','t','n'}, ITF_MATH1 >> 8, _fatan},
{{'a','b','s'}, ITF_MATH1 >> 8, _fabs},
{{'l','n',0}, ITF_MATH1 >> 8, _flog},
{{'l','o','g'}, ITF_MATH1 >> 8, _flog10},
{{'e','x','p'}, ITF_MATH1 >> 8, _fexp},
{{'s','q','t'}, ITF_MATH1 >> 8, _fsqrt},
{{'c','e','l'}, ITF_MATH1 >> 8, _fceil},
{{'f','l','r'}, ITF_MATH1 >> 8, _floor},
{{'s','i','n'}, ITF_MATH1 >> 8, sin},
{{'s','n','h'}, ITF_MATH1 >> 8, sinh},
{{'a','s','n'}, ITF_MATH1 >> 8, asin},
{{'c','o','s'}, ITF_MATH1 >> 8, cos},
{{'c','s','h'}, ITF_MATH1 >> 8, cosh},
{{'a','c','s'}, ITF_MATH1 >> 8, acos},
{{'t','a','n'}, ITF_MATH1 >> 8, tan},
{{'t','n','h'}, ITF_MATH1 >> 8, tanh},
{{'a','t','n'}, ITF_MATH1 >> 8, atan},
{{'a','b','s'}, ITF_MATH1 >> 8, fabs},
{{'l','n',0}, ITF_MATH1 >> 8, log},
{{'l','o','g'}, ITF_MATH1 >> 8, log10},
{{'e','x','p'}, ITF_MATH1 >> 8, exp},
{{'s','q','t'}, ITF_MATH1 >> 8, sqrt},
{{'c','e','l'}, ITF_MATH1 >> 8, ceil},
{{'f','l','r'}, ITF_MATH1 >> 8, floor},
{{'a','t','2'}, ITF_MATH2 >> 8, (Math1FuncPtr)_fatan2},
{{'p','o','w'}, ITF_MATH2 >> 8, (Math1FuncPtr)_fpow},
{{'f','m','d'}, ITF_MATH2 >> 8, (Math1FuncPtr)_fmod},
{{'a','t','2'}, ITF_MATH2 >> 8, (Math1FuncPtr)atan2},
{{'p','o','w'}, ITF_MATH2 >> 8, (Math1FuncPtr)pow},
{{'f','m','d'}, ITF_MATH2 >> 8, (Math1FuncPtr)fmod},
// type conversions
{{'i',0,0}, ITF_TYPE >> 8, (Math1FuncPtr)ITC_INT},
@ -136,8 +134,8 @@ const MathFunction MathFunctions[MATHFUNCNUM] = {
{{'l',0,0}, ITF_TYPE >> 8, (Math1FuncPtr)FTT_LEN},
{{'c',0,0}, ITF_TYPE >> 8, (Math1FuncPtr)FTT_CHAR},
{{'f','e','x'}, ITF_MATH2 >> 8, (Math1FuncPtr)_frexp},
{{'m','d','f'}, ITF_MATH2 >> 8, (Math1FuncPtr)_fmodf},
{{'f','e','x'}, ITF_MATH2 >> 8, (Math1FuncPtr)frexp},
{{'m','d','f'}, ITF_MATH2 >> 8, (Math1FuncPtr)modf},
};
void PlaceFunction(char *&vb, char *&sp, ParseInfo *pi, int redefine)
@ -1537,3 +1535,9 @@ BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
CleanAll(ul_reason_for_call == DLL_PROCESS_ATTACH);
return TRUE;
}
// crt0.obj is linked in and requires this
int main()
{
return 0;
}

View file

@ -1,21 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Math", "Math.vcproj", "{0825E168-A8AD-4110-B35A-52B078C39C2A}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{0825E168-A8AD-4110-B35A-52B078C39C2A}.Debug.ActiveCfg = Debug|Win32
{0825E168-A8AD-4110-B35A-52B078C39C2A}.Debug.Build.0 = Debug|Win32
{0825E168-A8AD-4110-B35A-52B078C39C2A}.Release.ActiveCfg = Release|Win32
{0825E168-A8AD-4110-B35A-52B078C39C2A}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View file

@ -1,240 +0,0 @@
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="Math"
RootNamespace="Math"
SccProjectName=""
SccLocalPath="">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;Math_EXPORTS"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\Debug/Math.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"
CommandLine="d:
cd &quot;D:\Program Files\NSIS\&quot;
makensis.exe math.nsi
"
AdditionalDependencies="D:\Program Files\NSIS\math.nsi"
Outputs="D:\Program Files\NSIS\math.exe "/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="mathcrt.lib kernel32.lib user32.lib RunTmChk.lib libcd.lib"
OutputFile="d:\Program Files\NSIS\Plugins\Math.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreAllDefaultLibraries="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\Debug/Math.pdb"
ImportLibrary=".\Debug/Math.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\Debug/Math.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="0"
WholeProgramOptimization="TRUE">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
GlobalOptimizations="TRUE"
InlineFunctionExpansion="1"
ImproveFloatingPointConsistency="FALSE"
FavorSizeOrSpeed="2"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;Math_EXPORTS"
StringPooling="TRUE"
ExceptionHandling="FALSE"
BasicRuntimeChecks="0"
RuntimeLibrary="4"
StructMemberAlignment="0"
BufferSecurityCheck="FALSE"
EnableFunctionLevelLinking="FALSE"
DefaultCharIsUnsigned="TRUE"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release/Math.pch"
AssemblerOutput="2"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="mathcrt.lib "
ShowProgress="2"
OutputFile="d:\Program Files\NSIS\Plugins\Math.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreAllDefaultLibraries="TRUE"
ProgramDatabaseFile=".\Release/Math.pdb"
GenerateMapFile="TRUE"
MapFileName="math.map"
MapExports="TRUE"
MapLines="TRUE"
OptimizeForWindows98="1"
EntryPointSymbol="_DllMainCRTStartup"
ImportLibrary=".\Release/Math.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\Release/Math.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
<File
RelativePath="Math.c">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;Math_EXPORTS;$(NoInherit)"
BasicRuntimeChecks="3"
CompileAs="2"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;Math_EXPORTS;$(NoInherit)"
CompileAs="2"/>
</FileConfiguration>
</File>
<File
RelativePath=".\MyMath.c">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
CompileAs="2"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
CompileAs="2"/>
</FileConfiguration>
</File>
<File
RelativePath=".\plugin.c">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
CompileAs="2"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
CompileAs="2"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl">
<File
RelativePath="Math.h">
</File>
<File
RelativePath=".\MyMath.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -1,5 +1,4 @@
#include <windows.h>
#include "mathcrt.h"
#include "MyMath.h"
#include "Math.h"
@ -197,11 +196,22 @@ void itoa64(__int64 i, char *buffer)
}
#define _FLOAT_ROUND_ADJUST (double)5e-15
extern "C"
int _floatp10(double *fnum, int *fsign, int prec);
extern "C"
int _ftol(double num);
int _floatp10(double *fnum, int *fsign, int prec)
{
int fpower, _d;
fcvt(*fnum, prec, &fpower, &_d);
if (*fnum < 0)
*fsign = -1;
else
*fsign = 1;
return fpower;
}
#define POS_INFINITY "#INF"
#define NEG_INFINITY "-#INF"
@ -314,6 +324,8 @@ void FloatFormat(char *s, double value, int options)
{
int prec = options & 0xF;
*s = 0;
if(value == HUGE_VAL)
{
lstrcpy(s, POS_INFINITY);
@ -323,7 +335,18 @@ void FloatFormat(char *s, double value, int options)
return;
}
if (options & FF_NOEXP) FloatFormatF(s, value, prec);
int decpt, sign;
char *res = fcvt(value, prec, &decpt, &sign);
if (res)
{
lstrcpyn(s, res, decpt + 1);
lstrcat(s, ".");
lstrcpy(s + decpt + 1, res + decpt);
}
/*if (options & FF_NOEXP) FloatFormatF(s, value, prec);
else
if (options & FF_EXP) FloatFormatE(s, value, options);
else
@ -342,7 +365,7 @@ void FloatFormat(char *s, double value, int options)
if(prec <= 0) prec = 1;
FloatFormatF(s, value, prec);
}
}
}*/
}
int lstrcmpn(char *s1, const char *s2, int chars)

View file

@ -1,5 +1,8 @@
#pragma once
#include <math.h>
#include <float.h>
#define DEFAULT_ARRAY_SIZE 1024
#define ITEMTYPE 0xFF0000

View file

@ -1,87 +0,0 @@
/*---------------------------------------------------------------------------*/
/* math.h - mathematics header file */
/*---------------------------------------------------------------------------*/
#pragma once
extern "C"
{
extern double _infinity;
#define HUGE_VAL _infinity
#define acos(x) _facos(x)
#define asin(x) _fasin(x)
#define atan(x) _fatan(x)
#define atan2(x, y) _fatan2(x, y)
#define ceil(x) _fceil(x)
#define cos(x) _fcos(x)
#define cosh(x) _fcosh(x)
#define exp(x) _fexp(x)
#define fabs(x) _fabs(x)
#define floor(x) _floor(x)
#define fmod(x, y) _fmod(x, y)
#define frexp(x, n) _frexp(x, n)
#define ldexp(x, n) _fldexp(x, n)
#define log(x) _flog(x)
#define log10(x) _flog10(x)
#define modf(x, y) _fmodf(x, y)
#define pow(x, y) _fpow(x, y)
#define sin(x) _fsin(x)
#define sinh(x) _fsinh(x)
#define sqrt(x) _fsqrt(x)
#define tan(x) _ftan(x)
#define tanh(x) _ftanh(x)
/*---------------------------------------------------------------------------*/
/* function prototpes */
/*---------------------------------------------------------------------------*/
double acos(double x);
double asin(double x);
double atan(double x);
double atan2(double x, double y);
double ceil(double x);
double cos(double x);
double cosh(double x);
double exp(double x);
double fabs(double x);
double floor(double x);
double fmod(double x, double y);
double frexp(double x, int *n);
double ldexp(double x, int n);
double log(double x);
double log10(double x);
double modf(double x, double *y);
double pow(double x, double y);
double sin(double x);
double sinh(double x);
double sqrt(double x);
double tan(double x);
double tanh(double x);
/*---------------------------------------------------------------------------*/
/* float.h - floating point include file */
/*---------------------------------------------------------------------------*/
#define FLT_RADIX 2
#define FLT_ROUNDS 1
#define FLT_DIG 6
#define FLT_EPSILON 1.192092896e-07F
#define FLT_MANT_DIG 24
#define FLT_MAX 3.402823466e+38F
#define FLT_MAX_EXP 38
#define FLT_MIN 1.175494351e-38F
#define FLT_MIN_EXP (-37)
#define DBL_DIG 15
#define DBL_EPSILON 2.2204460492503131e-016
#define DBL_MANT_DIG 53
#define DBL_MAX 1.7976931348623158e+308
#define DBL_MAX_EXP 308
#define DBL_MIN 2.2250738585072014e-308
#define DBL_MIN_EXP (-307)
/*---------------------------------------------------------------------------*/
/* function prototpes */
/*---------------------------------------------------------------------------*/
void _fpreset(void);
}

Binary file not shown.

Binary file not shown.