TESTROOT = ../..
include ${TESTROOT}/include/common.makefile
run: all
all:
${CC} ${CCFLAGS} -flto foo.c -c -o foo.o
${CC} ${CCFLAGS} bar.c -c -o bar.o
${LD} -arch ${ARCH} -r foo.o bar.o -o foobar.o
nm -nm foobar.o | grep _foo_hidden | grep non-external | ${FAIL_IF_EMPTY}
nm -nm foobar.o | grep _foo_static | grep non-external | ${FAIL_IF_EMPTY}
nm -nm foobar.o | grep _foo_weak_hidden | grep non-external | ${FAIL_IF_EMPTY}
nm -nm foobar.o | grep _foo_weak_global | grep "weak external " | ${FAIL_IF_EMPTY}
nm -nm foobar.o | grep _foo_global | grep " external " | ${FAIL_IF_EMPTY}
nm -nm foobar.o | grep _bar | grep " external " | ${FAIL_IF_EMPTY}
${LD} -arch ${ARCH} -r -keep_private_externs foo.o bar.o -o foobar2.o
nm -nm foobar2.o | grep _foo_hidden | grep "private external" | ${FAIL_IF_EMPTY}
nm -nm foobar2.o | grep _foo_static | grep non-external | ${FAIL_IF_EMPTY}
nm -nm foobar2.o | grep _foo_weak_hidden | grep "weak private external" | ${FAIL_IF_EMPTY}
nm -nm foobar2.o | grep _foo_weak_global | grep "weak external " | ${FAIL_IF_EMPTY}
nm -nm foobar2.o | grep _foo_global | grep " external " | ${FAIL_IF_EMPTY}
nm -nm foobar2.o | grep _bar | grep " external " | ${FAIL_IF_EMPTY}
${PASS_IFF} true
clean:
rm -f foo.o bar.o foobar.o foobar2.o