File: SConstruct

package info (click to toggle)
double-conversion 2.0.1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 19,096 kB
  • ctags: 672
  • sloc: cpp: 320,925; makefile: 49
file content (46 lines) | stat: -rw-r--r-- 1,584 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
# 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'] = '1.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)