
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4290 212acab6-be3b-0410-9dea-997c60f758d6
104 lines
1.8 KiB
Python
104 lines
1.8 KiB
Python
target = 'makensis'
|
|
|
|
pch = 'Platform.h'
|
|
|
|
makensis_files = Split("""
|
|
build.cpp
|
|
clzma.cpp
|
|
crc32.c
|
|
DialogTemplate.cpp
|
|
dirreader.cpp
|
|
growbuf.cpp
|
|
lang.cpp
|
|
lineparse.cpp
|
|
makenssi.cpp
|
|
mmap.cpp
|
|
Plugins.cpp
|
|
ResourceEditor.cpp
|
|
ResourceVersionInfo.cpp
|
|
script.cpp
|
|
ShConstants.cpp
|
|
strlist.cpp
|
|
tokens.cpp
|
|
util.cpp
|
|
""")
|
|
|
|
bzip2_files = Split("""
|
|
bzip2/blocksort.c
|
|
bzip2/bzlib.c
|
|
bzip2/compress.c
|
|
bzip2/huffman.c
|
|
""")
|
|
|
|
lzma_files = Split("""
|
|
7zip/7zGuids.cpp
|
|
7zip/Common/CRC.cpp
|
|
7zip/7zip/Compress/LZ/LZInWindow.cpp
|
|
7zip/7zip/Compress/LZMA/LZMAEncoder.cpp
|
|
7zip/7zip/Common/OutBuffer.cpp
|
|
7zip/7zip/Compress/RangeCoder/RangeCoderBit.cpp
|
|
7zip/Common/Alloc.cpp
|
|
""")
|
|
|
|
zlib_files = Split("""
|
|
zlib/deflate.c
|
|
zlib/trees.c
|
|
""")
|
|
|
|
libs = Split("""
|
|
gdi32
|
|
user32
|
|
version
|
|
pthread
|
|
stdc++
|
|
iconv
|
|
""")
|
|
|
|
Import('env AddAvailableLibs')
|
|
|
|
##### Use available libraries
|
|
|
|
AddAvailableLibs(env, libs)
|
|
|
|
##### Configuration defines
|
|
|
|
env.Append(CPPDEFINES = ['_WIN32_IE=0x0500'])
|
|
env.Append(CPPDEFINES = env['NSIS_CPPDEFINES'])
|
|
|
|
##### Set PCH
|
|
|
|
# XXX doesn't work
|
|
#env['PCH'] = env.PCH(pch)[0]
|
|
#env['PCHSTOP'] = pch
|
|
|
|
##### Version define
|
|
|
|
version_env = env.Copy()
|
|
version_env.Append(CPPDEFINES = ['NSIS_VERSION=v$VERSION'])
|
|
|
|
# only pass -DNSIS_VERSION to files that use it to minimize rebuilds
|
|
|
|
new_makensis_files = []
|
|
|
|
for file in makensis_files:
|
|
f = File(file).srcnode().abspath
|
|
if open(f).read().find('NSIS_VERSION') >= 0:
|
|
new_makensis_files.append(version_env.Object(file))
|
|
else:
|
|
new_makensis_files.append(file)
|
|
|
|
makensis_files = new_makensis_files
|
|
|
|
##### LZMA specific defines
|
|
|
|
lzma_env = env.Copy()
|
|
lzma_env.Append(CPPDEFINES = ['COMPRESS_MF_BT'])
|
|
lzma_files = lzma_env.Object(lzma_files)
|
|
|
|
##### Compile makensis
|
|
|
|
files = makensis_files + bzip2_files + lzma_files + zlib_files
|
|
|
|
makensis = env.Program(target, files)
|
|
|
|
Return('makensis')
|