File: SConscript

package info (click to toggle)
alljoyn-core-1604 16.04a-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 34,336 kB
  • sloc: cpp: 256,367; java: 42,368; objc: 17,784; ansic: 5,304; xml: 4,714; cs: 3,417; python: 1,777; sh: 1,228; makefile: 210; perl: 72
file content (58 lines) | stat: -rw-r--r-- 2,284 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
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright AllSeen Alliance. All rights reserved.
#
#    Permission to use, copy, modify, and/or distribute this software for any
#    purpose with or without fee is hereby granted, provided that the above
#    copyright notice and this permission notice appear in all copies.
#
#    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
#    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
#    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
#    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
#    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
#    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# 

Import('ajenv')
Import('common_static_objs')
Import('common_shared_objs')
from os.path import basename

# Need to clone the environment so that building a shared library does not
# cause a circular dependency.
libenv = ajenv.Clone()

# AllJoyn Sources
srcs = [ f for f in libenv.Glob('*.cc') + libenv.Glob('*.c')
         if not (str(f).endswith('version.cc')) ]

# Platform specific sources
if libenv['OS'] == 'darwin':
    os_srcs = [ f for f in libenv.Glob(libenv['OS'] + '/*.cc') ]
else:
    os_srcs = [ f for f in libenv.Glob(libenv['OS_GROUP'] + '/*.cc') ]

    if libenv['OS'] == 'openwrt':
        os_srcs += [ f for f in libenv.Glob('posix/linux/*.cc')]
    else:
        os_srcs += [ f for f in libenv.Glob(libenv['OS_GROUP'] + '/' + libenv['OS'] + '/*.cc')]

version_cc = libenv.GenVersion('version')

static_objs = common_static_objs + libenv.Object(srcs) + libenv.Object(os_srcs)
libenv.Depends(version_cc, static_objs)
static_objs.append(libenv.Object(version_cc))

if libenv['LIBTYPE'] == 'static':
    shared_objs = []
else:
    shared_objs = common_shared_objs + libenv.SharedObject(srcs) + libenv.SharedObject(os_srcs)
    libenv.Depends(version_cc, shared_objs)
    shared_objs.append(libenv.SharedObject(version_cc))

# AllJoyn Static Library
libs = libenv.StaticLibrary('alljoyn', static_objs)
if libenv['LIBTYPE'] != 'static':
    libs.append(libenv.SharedLibrary('alljoyn', shared_objs, SHLIBVERSION='1604'))

Return ('libs', 'static_objs', 'shared_objs')