]>
Commit | Line | Data |
---|---|---|
6a350ab0 | 1 | # vim:ft=python |
a6527f0c ER |
2 | import os |
3 | ||
002c3a9e ER |
4 | double_conversion_sources = ['src/' + x for x in SConscript('src/SConscript')] |
5 | double_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')] | |
6 | test = double_conversion_sources + double_conversion_test_sources | |
7 | print(test) | |
a6527f0c ER |
8 | |
9 | DESTDIR = ARGUMENTS.get('DESTDIR', '') | |
10 | prefix = ARGUMENTS.get('prefix', '/usr/local') | |
11 | lib = ARGUMENTS.get('libsuffix', 'lib') | |
12 | libdir = os.path.join(DESTDIR + prefix, lib) | |
13 | ||
6a350ab0 | 14 | env = Environment(CPPPATH='#/src', LIBS=['m', 'stdc++']) |
002c3a9e ER |
15 | debug = ARGUMENTS.get('debug', 0) |
16 | optimize = ARGUMENTS.get('optimize', 0) | |
3a886c7c ER |
17 | env.Replace(CXX = ARGUMENTS.get('CXX', 'g++')) |
18 | ||
6a350ab0 | 19 | CCFLAGS = [] |
002c3a9e | 20 | if int(debug): |
a6527f0c | 21 | CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Werror')) |
002c3a9e | 22 | if int(optimize): |
a6527f0c ER |
23 | CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-O3')) |
24 | ||
25 | env.Append(CCFLAGS = " ".join(CCFLAGS)) | |
26 | ||
002c3a9e ER |
27 | print double_conversion_sources |
28 | print double_conversion_test_sources | |
29 | double_conversion_shared_objects = [ | |
30 | env.SharedObject(src) for src in double_conversion_sources] | |
31 | double_conversion_static_objects = [ | |
32 | env.StaticObject(src) for src in double_conversion_sources] | |
a6527f0c | 33 | |
002c3a9e | 34 | library_name = 'double_conversion' |
a6527f0c | 35 | |
002c3a9e | 36 | static_lib = env.StaticLibrary(library_name, double_conversion_static_objects) |
a6527f0c | 37 | static_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects) |
6a350ab0 | 38 | shared_lib = env.SharedLibrary(library_name, double_conversion_shared_objects) |
a6527f0c | 39 | |
002c3a9e | 40 | env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib]) |
a6527f0c ER |
41 | |
42 | env.Install(libdir, shared_lib) | |
43 | env.Install(libdir, static_lib) | |
44 | env.Install(libdir, static_lib_pic) | |
45 | ||
46 | env.Alias('install', libdir) |