summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/linux/ldflags-duplicates
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/linux/ldflags-duplicates')
-rwxr-xr-xthird_party/python/gyp/test/linux/ldflags-duplicates/check-ldflags.py28
-rw-r--r--third_party/python/gyp/test/linux/ldflags-duplicates/lib1.c6
-rw-r--r--third_party/python/gyp/test/linux/ldflags-duplicates/lib2.c6
-rw-r--r--third_party/python/gyp/test/linux/ldflags-duplicates/main.c7
-rw-r--r--third_party/python/gyp/test/linux/ldflags-duplicates/test.gyp45
5 files changed, 92 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/linux/ldflags-duplicates/check-ldflags.py b/third_party/python/gyp/test/linux/ldflags-duplicates/check-ldflags.py
new file mode 100755
index 0000000000..ef1029529d
--- /dev/null
+++ b/third_party/python/gyp/test/linux/ldflags-duplicates/check-ldflags.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2015 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+Verifies duplicate ldflags are not removed.
+"""
+
+from __future__ import print_function
+
+import sys
+
+def CheckContainsFlags(args, substring):
+ if args.find(substring) is -1:
+ print('ERROR: Linker arguments "%s" are missing in "%s"' % (substring,
+ args))
+ return False;
+ return True;
+
+if __name__ == '__main__':
+ args = " ".join(sys.argv)
+ print("args = " +args)
+ if not CheckContainsFlags(args, 'lib1.a -Wl,--no-whole-archive') \
+ or not CheckContainsFlags(args, 'lib2.a -Wl,--no-whole-archive'):
+ sys.exit(1);
+ sys.exit(0)
diff --git a/third_party/python/gyp/test/linux/ldflags-duplicates/lib1.c b/third_party/python/gyp/test/linux/ldflags-duplicates/lib1.c
new file mode 100644
index 0000000000..a1322e7395
--- /dev/null
+++ b/third_party/python/gyp/test/linux/ldflags-duplicates/lib1.c
@@ -0,0 +1,6 @@
+// Copyright (c) 2015 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+void foo() {
+}
diff --git a/third_party/python/gyp/test/linux/ldflags-duplicates/lib2.c b/third_party/python/gyp/test/linux/ldflags-duplicates/lib2.c
new file mode 100644
index 0000000000..8e7a082820
--- /dev/null
+++ b/third_party/python/gyp/test/linux/ldflags-duplicates/lib2.c
@@ -0,0 +1,6 @@
+// Copyright (c) 2015 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+void bar() {
+}
diff --git a/third_party/python/gyp/test/linux/ldflags-duplicates/main.c b/third_party/python/gyp/test/linux/ldflags-duplicates/main.c
new file mode 100644
index 0000000000..b3039ace96
--- /dev/null
+++ b/third_party/python/gyp/test/linux/ldflags-duplicates/main.c
@@ -0,0 +1,7 @@
+// Copyright (c) 2015 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+int main() {
+ return 0;
+}
diff --git a/third_party/python/gyp/test/linux/ldflags-duplicates/test.gyp b/third_party/python/gyp/test/linux/ldflags-duplicates/test.gyp
new file mode 100644
index 0000000000..c36835b18f
--- /dev/null
+++ b/third_party/python/gyp/test/linux/ldflags-duplicates/test.gyp
@@ -0,0 +1,45 @@
+# Copyright (c) 2015 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'make_global_settings': [
+ ['LINK_wrapper', './check-ldflags.py'],
+ ],
+ 'targets': [
+ {
+ 'target_name': 'test',
+ 'type': 'executable',
+ 'ldflags': [
+ '-Wl,--whole-archive <(PRODUCT_DIR)/lib1.a',
+ '-Wl,--no-whole-archive',
+
+ '-Wl,--whole-archive <(PRODUCT_DIR)/lib2.a',
+ '-Wl,--no-whole-archive',
+ ],
+ 'dependencies': [
+ 'lib1',
+ 'lib2',
+ ],
+ 'sources': [
+ 'main.c',
+ ],
+ },
+ {
+ 'target_name': 'lib1',
+ 'type': 'static_library',
+ 'standalone_static_library': 1,
+ 'sources': [
+ 'lib1.c',
+ ],
+ },
+ {
+ 'target_name': 'lib2',
+ 'type': 'static_library',
+ 'standalone_static_library': 1,
+ 'sources': [
+ 'lib2.c',
+ ],
+ },
+ ],
+}