summaryrefslogtreecommitdiff
path: root/src/third_party/SConscript
blob: 0040188156b01ba21c4bd588ae982f602ec0c67f (plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# -*- mode: python -*-

Import("env use_system_version_of_library windows darwin usev8 solaris")

env.SConscript( [
        "murmurhash3/SConscript",
        "s2/SConscript",
        ] )
env.Append(CPPPATH='$BUILD_DIR/third_party/s2')

if use_system_version_of_library("pcre"):
    env.Library( "shim_pcrecpp", ['shim_pcrecpp.cc'],
                 SYSLIBDEPS=[
                     env['LIBDEPS_PCRE_SYSLIBDEP'],
                     env['LIBDEPS_PCRECPP_SYSLIBDEP']
                 ] )
else:
    env.SConscript('pcre-${PCRE_VERSION}/SConscript')
    env.Library( "shim_pcrecpp", ['shim_pcrecpp.cc'],
                 LIBDEPS=[ 'pcre-${PCRE_VERSION}/pcrecpp' ] )

if use_system_version_of_library("boost"):
    if windows:
        # On Windows, we use the autolib feature of boost to link in the
        # libraries we need, so we can't use SCons to detect them at configure time.
        env.Library("shim_boost", ['shim_boost.cpp'])
    else:
        env.Library("shim_boost", ['shim_boost.cpp'],
                    SYSLIBDEPS=[
                        env['LIBDEPS_BOOST_PROGRAM_OPTIONS_SYSLIBDEP'],
                        env['LIBDEPS_BOOST_FILESYSTEM_SYSLIBDEP'],
                        env['LIBDEPS_BOOST_THREAD_SYSLIBDEP'],
                        env['LIBDEPS_BOOST_SYSTEM_SYSLIBDEP']
                    ] )
else:
    env.SConscript('boost/SConscript')
    env.Library( "shim_boost", ['shim_boost.cpp'],
                 LIBDEPS=[ 'boost/boost_program_options',
                           'boost/boost_filesystem',
                           'boost/boost_thread',
                           'boost/boost_system',
                           ] )

if use_system_version_of_library("snappy"):
    env.Library("shim_snappy", ['shim_snappy.cpp'],
                SYSLIBDEPS=[
                    env['LIBDEPS_SNAPPY_SYSLIBDEP']
                ] )
else:
    env.Append(CPPPATH='$BUILD_DIR/third_party/snappy')
    env.SConscript('snappy/SConscript')
    env.Library('shim_snappy', ['shim_snappy.cpp'], LIBDEPS=['snappy/snappy'])

if usev8:
    if use_system_version_of_library("v8"):
        env.Library("shim_v8", ['shim_v8.cpp'], SYSLIBDEPS=[
            env['LIBDEPS_V8_SYSLIBDEP'] ])
    else:
        env.Append(CPPPATH='$BUILD_DIR/third_party/v8/include')
        env.SConscript('v8/SConscript')
        env.Library('shim_v8', ['shim_v8.cpp'], LIBDEPS=['v8/v8'])

if (GetOption("allocator") != "tcmalloc"):
    env.Library("shim_allocator", "shim_allocator.cpp")
elif use_system_version_of_library("tcmalloc"):
    env.Library("shim_allocator", "shim_allocator.cpp",
                SYSLIBDEPS=[
                    env['LIBDEPS_TCMALLOC_SYSLIBDEP']
                ] )
else:
    env.SConscript('gperftools-2.0/SConscript')
    env.Library('shim_allocator', 'shim_allocator.cpp',
                      LIBDEPS=['gperftools-2.0/tcmalloc_minimal'])

if use_system_version_of_library("stemmer"):
    env.Library("shim_stemmer", ['shim_stemmer.cpp'],
                SYSLIBDEPS=[
                  env['LIBDEPS_STEMMER_SYSLIBDEP']
                ] )
else:
    env.SConscript('libstemmer_c/SConscript')
    env.Library("shim_stemmer", ['shim_stemmer.cpp'],
                LIBDEPS=['libstemmer_c/stemmer'])

if use_system_version_of_library("yaml"):
    env.Library("shim_yaml", ['shim_yaml.cpp'],
                SYSLIBDEPS=[
                  env['LIBDEPS_YAML_SYSLIBDEP']
                ] )
else:
    env.Append(CPPPATH='$BUILD_DIR/third_party/yaml-cpp-0.5.1/include')
    env.SConscript('yaml-cpp-0.5.1/SConscript')
    env.Library("shim_yaml", ['shim_yaml.cpp'],
                LIBDEPS=['yaml-cpp-0.5.1/yaml'])

if solaris:
    env.Append(CPPPATH='$BUILD_DIR/third_party/tz')
    env.SConscript('tz/SConscript')
    env.Library('shim_tz', ['shim_tz.cpp'], LIBDEPS=['tz/tz'])
else:
    env.Library('shim_tz', ['shim_tz.cpp'], LIBDEPS=[])