]> git.saurik.com Git - apple/ld64.git/blobdiff - unit-tests/test-cases/objc-class-alias/Makefile
ld64-123.2.tar.gz
[apple/ld64.git] / unit-tests / test-cases / objc-class-alias / Makefile
diff --git a/unit-tests/test-cases/objc-class-alias/Makefile b/unit-tests/test-cases/objc-class-alias/Makefile
new file mode 100644 (file)
index 0000000..c8c1b27
--- /dev/null
@@ -0,0 +1,44 @@
+##
+# Copyright (c) 2010 Apple Inc. All rights reserved.
+#
+# @APPLE_LICENSE_HEADER_START@
+# 
+# This file contains Original Code and/or Modifications of Original Code
+# as defined in and that are subject to the Apple Public Source License
+# Version 2.0 (the 'License'). You may not use this file except in
+# compliance with the License. Please obtain a copy of the License at
+# http://www.opensource.apple.com/apsl/ and read it before using this
+# file.
+# 
+# The Original Code and all software distributed under the License are
+# distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+# Please see the License for the specific language governing rights and
+# limitations under the License.
+# 
+# @APPLE_LICENSE_HEADER_END@
+##
+TESTROOT = ../..
+include ${TESTROOT}/include/common.makefile
+
+#
+# Verify -alias works with ObjC classes
+#
+CLASS_NAME_FOO = .objc_class_name_Foo
+ifeq (${ARCH},x86_64)
+       CLASS_NAME_FOO = '_OBJC_CLASS_$$_Foo'
+endif
+
+
+run: all
+
+all:
+       ${CC} ${CCFLAGS} test.m -Wl,-alias,${CLASS_NAME_FOO},_MagicName -framework Foundation -o test
+       ${DYLDINFO} -export test | grep ${CLASS_NAME_FOO} | awk '{ print $$1}' > foo.addr
+       ${DYLDINFO} -export test | grep _MagicName | awk '{ print $$1}' > magic.addr
+       ${PASS_IFF} diff foo.addr magic.addr 
+       
+clean:
+       rm -rf test foo.addr  magic.addr