NSIS/Contrib/ExDLL/SConscript
wizou 57f7ff8a1c Unicode port: Unicode version of NSIS can now generate both ANSI & Unicode installers (using new instruction UnicodeInstaller on/off).
Stubs & Plugins differentiation is done automatically using a 'W' suffix.
SConscripts need to be reviewed to generate both variants of Plugins & pluginapi.lib under Unicode compilation.

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6100 212acab6-be3b-0410-9dea-997c60f758d6
2010-06-14 10:07:22 +00:00

70 lines
1.8 KiB
Python

# FIXME: install assembly and pascal includes into the correct locations
lib_target = "pluginapi"
lib_files = Split("""
pluginapi.c
""")
api_files = Split("""
pluginapi.h
nsis_tchar.h
#Source/exehead/api.h
""")
example = Split("""
exdll.c
exdll.dpr
exdll.dsp
exdll.dsw
exdll_with_unit.dpr
exdll-vs2008.sln
exdll-vs2008.vcproj
nsis.pas
extdll.inc
""")
Import('env plugin_env plugin_uenv')
# build library
# in Unicode compilation, we should really build both variants but I can't get it to work [Wizou]
if env['UNICODE']:
api_uenv = plugin_uenv.Clone()
api_uenv.Append(CPPPATH = ['#Source/exehead'])
libW = api_uenv.Library(lib_target+'W', lib_files)
lib = libW
else:
api_env = plugin_env.Clone()
api_env.Append(CPPPATH = ['#Source/exehead'])
lib = api_env.Library(lib_target, lib_files)
# distribute library, files and examples
env.DistributeExamples(api_files, path='Plugin/nsis')
if env['PLATFORM'] == 'win32':
if env['UNICODE']:
env.DistributeExamples(libW, lib_target+".lib", path='Plugin/nsis')
env.DistributeExamples(lib, path='Plugin/nsis')
else:
example += lib_files
if env.has_key('PREFIX_PLUGINAPI_INC'):
env.Distribute(api_files, None, 'pluginapi_inc', '', 'nsis', 'pluginapi', 'pluginapi')
if env.has_key('PREFIX_PLUGINAPI_LIB'):
env.Distribute(lib, None, 'pluginapi_lib', '', 'nsis', 'pluginapi', 'pluginapi')
env.DistributeExamples(example, path='Plugin')
# make sure all the other plug-ins can use the library
env.Install('#$BUILD_PREFIX/api/nsis', api_files + lib)
plugin_env.Append(CPPPATH = ['#$BUILD_PREFIX/api'])
plugin_env.Append(LIBPATH = ['#$BUILD_PREFIX/api/nsis'])
plugin_env.Append(LIBS = [lib_target])
plugin_uenv.Append(CPPPATH = ['#$BUILD_PREFIX/api'])
plugin_uenv.Append(LIBPATH = ['#$BUILD_PREFIX/api/nsis'])
plugin_uenv.Append(LIBS = [lib_target+'W'])