summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/mac/objc-gc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/gyp/test/mac/objc-gc')
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/c-file.c1
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/cc-file.cc1
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/main.m6
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/needs-gc-mm.mm1
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/needs-gc.m1
-rw-r--r--third_party/python/gyp/test/mac/objc-gc/test.gyp102
6 files changed, 112 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/mac/objc-gc/c-file.c b/third_party/python/gyp/test/mac/objc-gc/c-file.c
new file mode 100644
index 0000000000..2855a00eaa
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/c-file.c
@@ -0,0 +1 @@
+void c_fun() {}
diff --git a/third_party/python/gyp/test/mac/objc-gc/cc-file.cc b/third_party/python/gyp/test/mac/objc-gc/cc-file.cc
new file mode 100644
index 0000000000..71e47a0126
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/cc-file.cc
@@ -0,0 +1 @@
+void cc_fun() {}
diff --git a/third_party/python/gyp/test/mac/objc-gc/main.m b/third_party/python/gyp/test/mac/objc-gc/main.m
new file mode 100644
index 0000000000..1a87f8e70f
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/main.m
@@ -0,0 +1,6 @@
+#import <Foundation/Foundation.h>
+
+int main() {
+ printf("gc on: %d\n", [NSGarbageCollector defaultCollector] != NULL);
+ return 0;
+}
diff --git a/third_party/python/gyp/test/mac/objc-gc/needs-gc-mm.mm b/third_party/python/gyp/test/mac/objc-gc/needs-gc-mm.mm
new file mode 100644
index 0000000000..fc3fee9f34
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/needs-gc-mm.mm
@@ -0,0 +1 @@
+void objcpp_fun() { }
diff --git a/third_party/python/gyp/test/mac/objc-gc/needs-gc.m b/third_party/python/gyp/test/mac/objc-gc/needs-gc.m
new file mode 100644
index 0000000000..ca77976b1d
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/needs-gc.m
@@ -0,0 +1 @@
+void objc_fun() { }
diff --git a/third_party/python/gyp/test/mac/objc-gc/test.gyp b/third_party/python/gyp/test/mac/objc-gc/test.gyp
new file mode 100644
index 0000000000..4d827c1b39
--- /dev/null
+++ b/third_party/python/gyp/test/mac/objc-gc/test.gyp
@@ -0,0 +1,102 @@
+# Copyright (c) 2012 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.
+{
+ 'targets': [
+ # For some reason, static_library targets that are built with gc=required
+ # and then linked to executables that don't use gc, the linker doesn't
+ # complain. For shared_libraries it does, so use that.
+ {
+ 'target_name': 'no_gc_lib',
+ 'type': 'shared_library',
+ 'sources': [
+ 'c-file.c',
+ 'cc-file.cc',
+ 'needs-gc-mm.mm',
+ 'needs-gc.m',
+ ],
+ },
+ {
+ 'target_name': 'gc_lib',
+ 'type': 'shared_library',
+ 'sources': [
+ 'c-file.c',
+ 'cc-file.cc',
+ 'needs-gc-mm.mm',
+ 'needs-gc.m',
+ ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'supported',
+ },
+ },
+ {
+ 'target_name': 'gc_req_lib',
+ 'type': 'shared_library',
+ 'sources': [
+ 'c-file.c',
+ 'cc-file.cc',
+ 'needs-gc-mm.mm',
+ 'needs-gc.m',
+ ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'required',
+ },
+ },
+
+ {
+ 'target_name': 'gc_exe_fails',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'no_gc_lib' ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'required',
+ },
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ {
+ 'target_name': 'gc_req_exe',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'gc_lib' ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'required',
+ },
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ {
+ 'target_name': 'gc_exe_req_lib',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'gc_req_lib' ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'supported',
+ },
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ {
+ 'target_name': 'gc_exe',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'gc_lib' ],
+ 'xcode_settings': {
+ 'GCC_ENABLE_OBJC_GC': 'supported',
+ },
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ {
+ 'target_name': 'gc_off_exe_req_lib',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'gc_req_lib' ],
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ {
+ 'target_name': 'gc_off_exe',
+ 'type': 'executable',
+ 'sources': [ 'main.m' ],
+ 'dependencies': [ 'gc_lib' ],
+ 'libraries': [ 'Foundation.framework' ],
+ },
+ ],
+}
+