# HG changeset patch # User Tassilo Philipp # Date 1664963381 -7200 # Node ID 2536413edfd8c58b01e27d3cf4d5a43e5de36ab8 # Parent 14c582c828b9e2dc3090bdab9126b3be1d4fbad5 test/resolve_self: hack for linkers not having --export-dynamic diff -r 14c582c828b9 -r 2536413edfd8 test/resolve_self/CMakeLists.txt --- a/test/resolve_self/CMakeLists.txt Mon Oct 03 16:52:15 2022 +0200 +++ b/test/resolve_self/CMakeLists.txt Wed Oct 05 11:49:41 2022 +0200 @@ -1,3 +1,4 @@ add_executable(resolve_self main.c) target_link_libraries(resolve_self dynload_s) +set_target_properties(resolve_self PROPERTIES ENABLE_EXPORTS on) diff -r 14c582c828b9 -r 2536413edfd8 test/resolve_self/Makefile.embedded --- a/test/resolve_self/Makefile.embedded Mon Oct 03 16:52:15 2022 +0200 +++ b/test/resolve_self/Makefile.embedded Wed Oct 05 11:49:41 2022 +0200 @@ -11,7 +11,11 @@ .PHONY: all clean install ${APP}: ${OBJS} - ${CC} ${OBJS} ${LDFLAGS} ${LDLIBS} -o ${APP} + # some linkers (e.g. older apple mach-o linkers) don't know + # --export-dynamic, so try without if link fails; this is a bit hacky and + # should prob be part of of the ./configure run + ${CC} ${CFLAGS} ${LDFLAGS} -Wl,--export-dynamic ${OBJS} ${LDLIBS_D} ${LDLIBS} -o ${APP} || \ + ${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} ${LDLIBS_D} ${LDLIBS} -o ${APP} clean: rm -f ${APP} ${OBJS} diff -r 14c582c828b9 -r 2536413edfd8 test/resolve_self/Makefile.generic --- a/test/resolve_self/Makefile.generic Mon Oct 03 16:52:15 2022 +0200 +++ b/test/resolve_self/Makefile.generic Wed Oct 05 11:49:41 2022 +0200 @@ -3,12 +3,15 @@ SRCTOP = ${VPATH}/../.. BLDTOP = ../.. CFLAGS += -I${SRCTOP}/dynload -LDFLAGS += -Wl,--export-dynamic LDLIBS_D = -L${BLDTOP}/dynload -ldynload_s .PHONY: all clean install all: ${APP} ${APP}: ${OBJS} - ${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} ${LDLIBS_D} ${LDLIBS} -o ${APP} + # some linkers (e.g. apple's mach-o linker) don't know --export-dynamic, so + # try without if link fails; this is a bit hacky and should prob be part of + # of the ./configure run + ${CC} ${CFLAGS} ${LDFLAGS} -Wl,--export-dynamic ${OBJS} ${LDLIBS_D} ${LDLIBS} -o ${APP} || \ + ${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} ${LDLIBS_D} ${LDLIBS} -o ${APP} clean: rm -f ${APP} ${OBJS} install: