cs: link Unix variants of racket with exported symbols

I'm not sure this is a good idea, but it doesn't apear to be a
particularly bad idea. Exporting symbols just makes the executable
size slightly larger.

Closes #3617
This commit is contained in:
Matthew Flatt 2021-05-08 09:32:37 -06:00
parent 98cf4151a9
commit bb462baf30
3 changed files with 18 additions and 2 deletions

View File

@ -22,6 +22,7 @@ BASE_CFLAGS = @CFLAGS@ @CPPFLAGS@
CFLAGS = $(BASE_CFLAGS) -I$(SCHEME_TARGET_INC) -I$(srcdir)/../../rktio -Irktio -I.
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
LINK_DYNAMIC = @LINK_DYNAMIC@
AR = @AR@
ARFLAGS = @ARFLAGS@
RANLIB = @RANLIB@
@ -229,11 +230,11 @@ BOOT_OBJ_DEPS = boot.o $(SCHEME_LIB_DEPS) rktio/librktio.a
BOOT_OBJS = boot.o $(SCHEME_LIBS) rktio/librktio.a
raw_racketcs@NOT_OSX@: main.o boot.o $(BOOT_OBJ_DEPS)
$(CC) $(CFLAGS) -o raw_racketcs main.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS)
$(CC) $(CFLAGS) -o raw_racketcs main.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS) $(LINK_DYNAMIC)
@POST_LINKER@ raw_racketcs
raw_gracketcs: grmain.o boot.o $(BOOT_OBJ_DEPS)
$(CC) $(CFLAGS) -o raw_gracketcs grmain.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS)
$(CC) $(CFLAGS) -o raw_gracketcs grmain.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS) $(LINK_DYNAMIC)
@POST_LINKER@ raw_gracketcs
petite-v.boot: $(SCHEME_TARGET_INC)/petite.boot

View File

@ -678,6 +678,7 @@ WINDRES
STATIC_AR
ARFLAGS
AR
LINK_DYNAMIC
LD
upsrcdir
EGREP
@ -4344,6 +4345,7 @@ case "$host_os" in
CFLAGS="${CFLAGS} -I/usr/local/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib"
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-rdynamic"
add_iconv_lib="-liconv"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
@ -4353,18 +4355,22 @@ case "$host_os" in
CFLAGS="${CFLAGS} -I/usr/local/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib"
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-Wl,--export-dynamic"
add_iconv_lib="-liconv"
LDFLAGS="${LDFLAGS} -Wl,-zwxneeded"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
;;
bitrig*)
LINK_DYNAMIC="-Wl,--export-dynamic"
;;
dragonfly*)
LINK_DYNAMIC="-Wl,--export-dynamic"
;;
netbsd*)
MACH_OS=nb
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-rdynamic"
add_iconv_lib="/usr/lib/i18n/libiconv_std.a"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
@ -4382,6 +4388,7 @@ case "$host_os" in
;;
esac
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
LINK_DYNAMIC="-rdynamic"
ELF_COMP="--expect-elf"
;;
osf1*)
@ -5786,6 +5793,7 @@ SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${cs_auto_flags
makefiles="Makefile"

View File

@ -227,6 +227,7 @@ case "$host_os" in
CFLAGS="${CFLAGS} -I/usr/local/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib"
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-rdynamic"
add_iconv_lib="-liconv"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
@ -236,18 +237,22 @@ case "$host_os" in
CFLAGS="${CFLAGS} -I/usr/local/include"
LDFLAGS="${LDFLAGS} -L/usr/local/lib"
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-Wl,--export-dynamic"
add_iconv_lib="-liconv"
LDFLAGS="${LDFLAGS} -Wl,-zwxneeded"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
;;
bitrig*)
LINK_DYNAMIC="-Wl,--export-dynamic"
;;
dragonfly*)
LINK_DYNAMIC="-Wl,--export-dynamic"
;;
netbsd*)
MACH_OS=nb
LIBS="${LIBS} -lm -lpthread"
LINK_DYNAMIC="-rdynamic"
add_iconv_lib="/usr/lib/i18n/libiconv_std.a"
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
ELF_COMP="--expect-elf"
@ -265,6 +270,7 @@ case "$host_os" in
;;
esac
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
LINK_DYNAMIC="-rdynamic"
ELF_COMP="--expect-elf"
;;
osf1*)
@ -773,6 +779,7 @@ AC_SUBST(CPPFLAGS)
AC_SUBST(LD)
AC_SUBST(LDFLAGS)
AC_SUBST(LIBS)
AC_SUBST(LINK_DYNAMIC)
AC_SUBST(AR)
AC_SUBST(ARFLAGS)
AC_SUBST(RANLIB)