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