xref: /aosp_15_r20/external/double-conversion/SConstruct (revision a6021da3bd53a1cb979b0905bbb837249345d1b1)
1*a6021da3SAndroid Build Coastguard Worker# vim:ft=python
2*a6021da3SAndroid Build Coastguard Workerimport os
3*a6021da3SAndroid Build Coastguard Worker
4*a6021da3SAndroid Build Coastguard Workerdouble_conversion_sources = ['double-conversion/' + x for x in SConscript('double-conversion/SConscript')]
5*a6021da3SAndroid Build Coastguard Workerdouble_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')]
6*a6021da3SAndroid Build Coastguard Worker
7*a6021da3SAndroid Build Coastguard WorkerDESTDIR = ARGUMENTS.get('DESTDIR', '')
8*a6021da3SAndroid Build Coastguard Workerprefix = ARGUMENTS.get('prefix', '/usr/local')
9*a6021da3SAndroid Build Coastguard Workerlib = ARGUMENTS.get('libsuffix', 'lib')
10*a6021da3SAndroid Build Coastguard Workerlibdir = os.path.join(DESTDIR + prefix, lib)
11*a6021da3SAndroid Build Coastguard Worker
12*a6021da3SAndroid Build Coastguard Workerenv = Environment(CPPPATH='#', LIBS=['m', 'stdc++'],
13*a6021da3SAndroid Build Coastguard Worker    CXXFLAGS=ARGUMENTS.get('CXXFLAGS', ''))
14*a6021da3SAndroid Build Coastguard Workerdebug = ARGUMENTS.get('debug', 0)
15*a6021da3SAndroid Build Coastguard Workeroptimize = ARGUMENTS.get('optimize', 0)
16*a6021da3SAndroid Build Coastguard Workerenv.Replace(CXX = ARGUMENTS.get('CXX', 'g++'))
17*a6021da3SAndroid Build Coastguard Worker
18*a6021da3SAndroid Build Coastguard Worker# for shared lib, requires scons 2.3.0
19*a6021da3SAndroid Build Coastguard Workerenv['SHLIBVERSION'] = '3.0.0'
20*a6021da3SAndroid Build Coastguard Worker
21*a6021da3SAndroid Build Coastguard WorkerCCFLAGS = []
22*a6021da3SAndroid Build Coastguard Workerif int(debug):
23*a6021da3SAndroid Build Coastguard Worker  CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Wshadow -Werror -UNDEBUG'))
24*a6021da3SAndroid Build Coastguard Workerif int(optimize):
25*a6021da3SAndroid Build Coastguard Worker  CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-O3 -DNDEBUG=1'))
26*a6021da3SAndroid Build Coastguard Worker
27*a6021da3SAndroid Build Coastguard Workerenv.Append(CCFLAGS = " ".join(CCFLAGS))
28*a6021da3SAndroid Build Coastguard Worker
29*a6021da3SAndroid Build Coastguard Workerdouble_conversion_shared_objects = [
30*a6021da3SAndroid Build Coastguard Worker    env.SharedObject(src) for src in double_conversion_sources]
31*a6021da3SAndroid Build Coastguard Workerdouble_conversion_static_objects = [
32*a6021da3SAndroid Build Coastguard Worker    env.StaticObject(src) for src in double_conversion_sources]
33*a6021da3SAndroid Build Coastguard Worker
34*a6021da3SAndroid Build Coastguard Workerlibrary_name = 'double-conversion'
35*a6021da3SAndroid Build Coastguard Worker
36*a6021da3SAndroid Build Coastguard Workerstatic_lib = env.StaticLibrary(library_name, double_conversion_static_objects)
37*a6021da3SAndroid Build Coastguard Workerstatic_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
38*a6021da3SAndroid Build Coastguard Workershared_lib = env.SharedLibrary(library_name, double_conversion_shared_objects)
39*a6021da3SAndroid Build Coastguard Worker
40*a6021da3SAndroid Build Coastguard Workerenv.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
41*a6021da3SAndroid Build Coastguard Worker
42*a6021da3SAndroid Build Coastguard Workerenv.InstallVersionedLib(libdir, shared_lib)
43*a6021da3SAndroid Build Coastguard Workerenv.Install(libdir, static_lib)
44*a6021da3SAndroid Build Coastguard Workerenv.Install(libdir, static_lib_pic)
45*a6021da3SAndroid Build Coastguard Worker
46*a6021da3SAndroid Build Coastguard Workerenv.Alias('install', libdir)
47