OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 Import('env') | 6 Import('env') |
7 | 7 |
8 # (elijahtaylor): Removing so braced groups will work for GC syscall wrapping. | 8 # (elijahtaylor): Removing so braced groups will work for GC syscall wrapping. |
9 env.FilterOut(CCFLAGS=['-pedantic']) | 9 env.FilterOut(CCFLAGS=['-pedantic']) |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 for module in [ | 23 for module in [ |
24 'nc_thread', | 24 'nc_thread', |
25 'nc_mutex', | 25 'nc_mutex', |
26 'nc_condvar', | 26 'nc_condvar', |
27 'nc_semaphore', | 27 'nc_semaphore', |
28 'stack_end', | 28 'stack_end', |
29 ] | 29 ] |
30 ] + [valgrind] | 30 ] + [valgrind] |
31 | 31 |
32 # The public library relies on the IRT for crucial system services. | 32 # The public library relies on the IRT for crucial system services. |
33 libpthread = env.NaClSdkLibrary( | 33 libpthread = env.ComponentLibrary('libpthread', nc_objs + ['nc_init_irt.c']) |
34 'libpthread', | |
35 nc_objs + ['nc_init_irt.c'], | |
36 # only enable shared versions of this library in the shared newlib case | |
37 no_shared_lib=not env.Bit('pnacl_shared_newlib')) | |
38 env.AddLibraryToSdk(libpthread) | 34 env.AddLibraryToSdk(libpthread) |
39 | 35 |
40 # The private library rolls in those IRT components. | 36 # The private library rolls in those IRT components. |
41 nc_private_objs = nc_objs + ['nc_init_private.c'] + [ | 37 nc_private_objs = nc_objs + ['nc_init_private.c'] + [ |
42 env.ComponentObject( | 38 env.ComponentObject( |
43 interface, | 39 interface, |
44 '${MAIN_DIR}/src/untrusted/irt/%s.c' % interface) | 40 '${MAIN_DIR}/src/untrusted/irt/%s.c' % interface) |
45 for interface in ['irt_mutex', 'irt_cond', 'irt_futex', | 41 for interface in ['irt_mutex', 'irt_cond', 'irt_futex', |
46 'irt_sem', 'irt_blockhook'] | 42 'irt_sem', 'irt_blockhook'] |
47 ] | 43 ] |
(...skipping 15 matching lines...) Expand all Loading... |
63 # installed, we ensure that they are in place before they're used. | 59 # installed, we ensure that they are in place before they're used. |
64 for compiler in ['${CC}', '${CXX}']: | 60 for compiler in ['${CC}', '${CXX}']: |
65 # TODO(mcgrathr): This can't be the best way! Ideally we'd just use | 61 # TODO(mcgrathr): This can't be the best way! Ideally we'd just use |
66 # '${CC}' directly in env.Depends and that should be fine for scons. | 62 # '${CC}' directly in env.Depends and that should be fine for scons. |
67 # But sometimes '${CC}' is not just '.../gcc', it's '.../gcc -m32'. | 63 # But sometimes '${CC}' is not just '.../gcc', it's '.../gcc -m32'. |
68 compiler = env.subst(compiler).split()[0] | 64 compiler = env.subst(compiler).split()[0] |
69 env.Depends(env.WhereIs(compiler), n) | 65 env.Depends(env.WhereIs(compiler), n) |
70 else: | 66 else: |
71 n = [] | 67 n = [] |
72 env.Alias('install_libpthread', n) | 68 env.Alias('install_libpthread', n) |
OLD | NEW |