moved NSISCALL detection to scons

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5814 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2008-12-09 22:42:12 +00:00
parent 61530710bc
commit f6e4fefbf5
5 changed files with 22 additions and 21 deletions

View file

@ -13,6 +13,11 @@ defenv['CPP_FLAG'] = ''
defenv['CPP_REQUIRES_STDLIB'] = 0 defenv['CPP_REQUIRES_STDLIB'] = 0
defenv['SUBSYS_CON'] = '' defenv['SUBSYS_CON'] = ''
defenv['MSVCRT_FLAG'] = '' defenv['MSVCRT_FLAG'] = ''
defenv['STDCALL'] = ''
### defines
defenv.Append(CPPDEFINES = {'NSISCALL' : '$STDCALL'})
### stub environment ### stub environment

View file

@ -31,6 +31,11 @@ defenv['ALIGN_FLAG'] = '-Wl,--file-alignment,512'
defenv['CPP_REQUIRES_STDLIB'] = 1 defenv['CPP_REQUIRES_STDLIB'] = 1
defenv['SUBSYS_CON'] = '-Wl,--subsystem,console' defenv['SUBSYS_CON'] = '-Wl,--subsystem,console'
defenv['MSVCRT_FLAG'] = '' defenv['MSVCRT_FLAG'] = ''
defenv['STDCALL'] = '__attribute__((__stdcall__))'
### defines
defenv.Append(CPPDEFINES = {'NSISCALL' : '$STDCALL'})
### helper functions ### helper functions

View file

@ -13,6 +13,11 @@ defenv['CPP_FLAG'] = ''
defenv['CPP_REQUIRES_STDLIB'] = 0 defenv['CPP_REQUIRES_STDLIB'] = 0
defenv['SUBSYS_CON'] = '' defenv['SUBSYS_CON'] = ''
defenv['MSVCRT_FLAG'] = '' defenv['MSVCRT_FLAG'] = ''
defenv['STDCALL'] = ''
### defines
defenv.Append(CPPDEFINES = {'NSISCALL' : '$STDCALL'})
### stub environment ### stub environment

View file

@ -12,6 +12,7 @@ defenv['CPP_FLAG'] = '/TP'
defenv['CPP_REQUIRES_STDLIB'] = 0 defenv['CPP_REQUIRES_STDLIB'] = 0
defenv['SUBSYS_CON'] = '/subsystem:console' defenv['SUBSYS_CON'] = '/subsystem:console'
defenv['MSVCRT_FLAG'] = '/MD' defenv['MSVCRT_FLAG'] = '/MD'
defenv['STDCALL'] = '__stdcall'
if float(defenv['MSVS_VERSION'].replace('Exp','')) >= 8.0: if float(defenv['MSVS_VERSION'].replace('Exp','')) >= 8.0:
defenv['EXCEPTION_FLAG'] = '/EHsc' defenv['EXCEPTION_FLAG'] = '/EHsc'
@ -20,6 +21,12 @@ if float(defenv['MSVS_VERSION'].replace('Exp','')) >= 8.0:
else: else:
defenv['EXCEPTION_FLAG'] = '/GX' defenv['EXCEPTION_FLAG'] = '/GX'
### defines
defenv.Append(CPPDEFINES = {'NSISCALL' : '$STDCALL'})
### asm
defenv.Append(ASFLAGS = ['/coff']) defenv.Append(ASFLAGS = ['/coff'])
### debug ### debug

View file

@ -142,27 +142,6 @@ typedef DWORDLONG ULONGLONG,*PULONGLONG;
# endif # endif
#endif #endif
// Added by Dave Laundon 19th August 2002
// For all internal functions, use of stdcall calling convention moves the
// responsibility for tidying the stack to callee from caller, reducing the code
// involved considerably. Gives an instant saving of 0.5K.
// NB - the zlib and bzip2 portions have been given the same treatment, but with
// project compiler-options settings and/or project-wide defines.
// NB - safer for NSIS's routines to be defined explicitly to avoid problems
// calling DLL functions.
#if defined(_WIN32) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
# define NSISCALL __stdcall // Ordinary functions
# define NSISCALLV __cdecl // Variable-argument-list functions
#else
# if defined(__GNUC__) && defined(__i386__)
# define NSISCALL __attribute__((__stdcall__)) // Ordinary functions
# define NSISCALLV __attribute__((__cdecl__)) // Variable-argument-list functions
# else
# define NSISCALL
# define NSISCALLV
# endif
#endif
#if defined(__GNUC__) #if defined(__GNUC__)
#define UNUSED __attribute__((unused)) #define UNUSED __attribute__((unused))
#else #else