File: SConscript

package info (click to toggle)
nsis 3.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,496 kB
  • sloc: cpp: 39,326; ansic: 27,284; python: 1,386; asm: 712; xml: 409; pascal: 231; makefile: 225; javascript: 67
file content (72 lines) | stat: -rwxr-xr-x 1,784 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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 GetArcSuffix PerformPluginExtrasDistOperationOnce')

unicodetarget = 'UNICODE' in env['CPPDEFINES']
plugin_envT = plugin_env
if unicodetarget:
	plugin_envT = plugin_uenv
lib_targetT = lib_target + '-' + GetArcSuffix(plugin_envT, unicodetarget)



# build library

api_envT = plugin_envT.Clone()
api_envT.Append(CPPPATH = ['#Source/exehead']) # For api.h
lib = api_envT.Library(lib_targetT, lib_files)


# distribute library, files and examples

if PerformPluginExtrasDistOperationOnce(plugin_envT, unicodetarget):
	env.DistributeExamples(api_files, path='Plugin/nsis')
	env.DistributeExamples(example, path='Plugin')
	if env['PLATFORM'] != 'win32':
		if 'PREFIX_PLUGINAPI_INC' in env:
			env.Distribute(api_files, None, 'pluginapi_inc', '', 'nsis', 'pluginapi', 'pluginapi')


if env['PLATFORM'] == 'win32':
	env.DistributeExamples(lib, path='Plugin/nsis')
else:
	example += lib_files

	if 'PREFIX_PLUGINAPI_LIB' in env:
		env.Distribute(lib, None, 'pluginapi_lib', '', 'nsis', 'pluginapi', 'pluginapi')


# make sure all the other plug-ins can use the library

if PerformPluginExtrasDistOperationOnce(plugin_envT, unicodetarget):
	env.Install('#$BUILD_PREFIX/api/nsis', api_files)

env.Install('#$BUILD_PREFIX/api/nsis', lib)
plugin_envT.Append(CPPPATH = ['#$BUILD_PREFIX/api'])
plugin_envT.Append(LIBPATH = ['#$BUILD_PREFIX/api/nsis'])
plugin_envT.Append(LIBS = [lib_targetT])