12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # vim:ft=python
- import os
- double_conversion_sources = ['src/' + x for x in SConscript('src/SConscript')]
- double_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')]
- DESTDIR = ARGUMENTS.get('DESTDIR', '')
- prefix = ARGUMENTS.get('prefix', '/usr/local')
- lib = ARGUMENTS.get('libsuffix', 'lib')
- libdir = os.path.join(DESTDIR + prefix, lib)
- env = Environment(CPPPATH='#/src', LIBS=['m', 'stdc++'],
- CXXFLAGS=ARGUMENTS.get('CXXFLAGS', ''))
- debug = ARGUMENTS.get('debug', 0)
- optimize = ARGUMENTS.get('optimize', 0)
- env.Replace(CXX = ARGUMENTS.get('CXX', 'g++'))
- # for shared lib, requires scons 2.3.0
- env['SHLIBVERSION'] = '0.0.0'
- CCFLAGS = []
- if int(debug):
- CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Werror'))
- if int(optimize):
- CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-O3'))
- env.Append(CCFLAGS = " ".join(CCFLAGS))
- double_conversion_shared_objects = [
- env.SharedObject(src) for src in double_conversion_sources]
- double_conversion_static_objects = [
- env.StaticObject(src) for src in double_conversion_sources]
- library_name = 'double-conversion'
- static_lib = env.StaticLibrary(library_name, double_conversion_static_objects)
- static_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
- shared_lib = env.SharedLibrary(library_name, double_conversion_shared_objects)
- env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
- env.InstallVersionedLib(libdir, shared_lib)
- env.Install(libdir, static_lib)
- env.Install(libdir, static_lib_pic)
- env.Alias('install', libdir)
|