Added ${NSIS_PACKEDVERSION} predefine

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6211 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2011-12-15 20:07:37 +00:00
parent 9931591d3a
commit b3dc58c704
3 changed files with 24 additions and 2 deletions

View file

@ -203,6 +203,14 @@ Date & time of the last modification to the script file according to the current
NSIS version used to build the script.
\S1{prensispackedversion} $\{NSIS_PACKEDVERSION\}
NSIS version as a 32 bit number.
\c !if 0x2046000 >= ${NSIS_PACKEDVERSION}
\c !error "NSIS 2.47 or higher is required to build this installer!"
\c !endif
\S1{scopepredefines} Scope Predefines
Standard predefines that contain information of the current code scope.

View file

@ -142,8 +142,9 @@ Examples/gfx.nsi"""))
opts.Add(('VERSION', 'Version of NSIS', cvs_version))
opts.Add(('VER_MAJOR', 'Major version of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_MINOR', 'Minor version of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_REVISION', 'Revision of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_BUILD', 'Build version of NSIS (recommended for dist-installer)', None))
opts.Add(('VER_REVISION', 'Revision of NSIS', None))
opts.Add(('VER_BUILD', 'Build version of NSIS', None))
opts.Add(('VER_PACKED', 'Packed version of NSIS in 0xMMmmmrrb format, used for feature detection in scripts (recommended if VER_MAJOR and VER_MINOR are not set)', None))
# installation
opts.Add(('PREFIX', 'Installation prefix', dirs['prefix']))
opts.Add(ListVariable('SKIPSTUBS', 'A list of stubs that will not be built', 'none', stubs))
@ -235,6 +236,16 @@ f = open(defenv.File('#$BUILD_CONFIG/nsis-version.h').abspath, 'w')
f.write('// This file is automatically generated by SCons\n// DO NOT EDIT THIS FILE\n')
f.write('#include "tchar.h"\n')
if (not defenv.has_key('VER_PACKED')) and defenv.has_key('VER_MAJOR') and defenv.has_key('VER_MINOR'):
packed_r = packed_b = 0
if defenv.has_key('VER_REVISION'):
packed_r = int(defenv['VER_REVISION'])
if defenv.has_key('VER_BUILD'):
packed_r = int(defenv['VER_BUILD'])
defenv['VER_PACKED'] = '0x%0.2i%0.3i%0.2i%0.1i' % (int(defenv['VER_MAJOR']),int(defenv['VER_MINOR']),packed_r,packed_b)
if defenv.has_key('VER_PACKED'):
f.write('#define NSIS_PACKEDVERSION _T("%s")\n' % defenv['VER_PACKED'])
if defenv.has_key('VER_MAJOR'):
defenv['VERSION'] = defenv['VER_MAJOR']
if defenv.has_key('VER_MINOR'):

View file

@ -131,6 +131,9 @@ CEXEBuild::CEXEBuild() :
ns_label.add(_T(""),0);
definedlist.add(_T("NSIS_VERSION"), NSIS_VERSION);
#ifdef NSIS_PACKEDVERSION
definedlist.add(_T("NSIS_PACKEDVERSION"), NSIS_PACKEDVERSION);
#endif
target_minimal_OS=0;
build_unicode=false;