#
# Sanity check that ld can link a kext
#
-
+FILE_TYPE = OBJECT
ifeq (${ARCH},x86_64)
FILE_TYPE = KEXTBUNDLE
-else
- FILE_TYPE = OBJECT
+endif
+ifeq (${FILEARCH},arm)
+ FILE_TYPE = KEXTBUNDLE
endif
+#CC = /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang
run: all
all:
- ${CC} ${CCFLAGS} -static -fno-common -mkernel -c mykext.c -o mykext.o
- ${CC} ${CCFLAGS} -static -fno-common -mkernel -c mykextinfo.c -o mykextinfo.o
- ${CC} ${CCFLAGS} -Wl,-kext mykext.o mykextinfo.o -nostdlib -lkmodc++ -lkmod -lcc_kext -o mykext
+ ${CC} ${CCFLAGS} -static -mkernel -c mykext.c -o mykext.o
+ ${CC} ${CCFLAGS} -static -mkernel -c mykextinfo.c -o mykextinfo.o
+ ${CC} ${CCFLAGS} -Wl,-kext mykext.o mykextinfo.o -nostdlib -lkmodc++ -lkmod -lcc_kext -o mykext -Wl,-w -Wl,-new_linker
otool -hv mykext | grep ${FILE_TYPE} | ${FAIL_IF_EMPTY}
nm -nm mykext | grep '(undefined) external _extern_global' | ${FAIL_IF_EMPTY}
nm -nm mykext | grep '(__DATA,__data) external _my_global' | ${FAIL_IF_EMPTY}