Attempt to reduce Linux deps
lddtree output (sorted):
1. Before this CL:
gn => out/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
2. With this CL:
gn => out/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
ld-linux-x86-64.so.2 => /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
3. Chrome's current buildtools:
gn => /work/cr/src/buildtools/linux64/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
So, compared to current Chrome buildtools, this removes the dependency
on librt.so.1, but still has a ld-linux-x86-64.so.2 dependency. A bunch
are removed that were problematic since the last attempt to roll into
Chromium. Per
https://bugs.chromium.org/p/chromium/issues/detail?id=855791#c38 I am
hopeful that this will not cause problems.
Change-Id: I3c47339ceffd5d34ae3aa8f5b201fd6d8b43977a
Reviewed-on: https://gn-review.googlesource.com/1940
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
diff --git a/build/gen.py b/build/gen.py
index 483d3f0..eb506e3 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -234,11 +234,17 @@
# sysroot and we don't currently have a local build of that. We should
# probably resolve this and (re-)add a way to build against libc++.
cflags.extend(['--sysroot=' + linux_sysroot,
- '-stdlib=libstdc++'])
+ '-stdlib=libstdc++',
+ ])
ldflags.extend(['--sysroot=' + linux_sysroot,
- '-rtlib=libgcc',
'-static-libstdc++',
- '-stdlib=libstdc++'])
+ '-stdlib=libstdc++',
+ '-Wl,--as-needed',
+ ])
+ libs.extend([
+ '-lgcc_s',
+ '-lpthread',
+ ])
elif is_win:
if not options.debug:
cflags.extend(['/Ox', '/DNDEBUG', '/GL'])
@@ -524,14 +530,6 @@
static_libraries['base']['sources'].extend([
'base/strings/sys_string_conversions_posix.cc',
])
- libs.extend([
- '-lc',
- '-lgcc_s',
- '-lm',
- '-lpthread',
- '-lrt',
- '-latomic',
- ])
if is_mac:
static_libraries['base']['sources'].extend([