configure: further improvements for NetBSD and OpenBSD
Enable ELF support for `racketcs` embedding, and add `paxctl +m` build steps for NetBSD.
This commit is contained in:
parent
7706b447a5
commit
6647d832bb
|
@ -691,6 +691,7 @@ x_libraries
|
|||
x_includes
|
||||
DYN_CFLAGS
|
||||
PLAIN_CC
|
||||
POST_LINKER
|
||||
MZLINKER
|
||||
REZ
|
||||
CC_FOR_BUILD
|
||||
|
@ -3366,6 +3367,8 @@ LIBRACKET_DEP=""
|
|||
EXE_SUFFIX=
|
||||
SO_SUFFIX=.so
|
||||
|
||||
POST_LINKER="echo"
|
||||
|
||||
MMM=3m
|
||||
MMM_INSTALLED=
|
||||
MMM_CAP_INSTALLED=
|
||||
|
@ -4803,6 +4806,7 @@ case "$host_os" in
|
|||
;;
|
||||
netbsd*)
|
||||
LIBS="$LIBS -rdynamic"
|
||||
POST_LINKER="paxctl +m"
|
||||
;;
|
||||
irix*)
|
||||
enable_cgcdefault="yes"
|
||||
|
@ -6994,6 +6998,7 @@ LIBS="$LIBS $EXTRALIBS"
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mk_needed_dir()
|
||||
|
|
|
@ -200,9 +200,11 @@ EMBED_DEPS = $(srcdir)/embed-boot.rkt
|
|||
|
||||
racketcs@NOT_OSX@@NOT_MINGW@: raw_racketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS)
|
||||
$(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @BOOT_COMPRESS_COMP@ raw_racketcs racketcs petite-v.boot scheme-v.boot racket-v.boot
|
||||
@POST_LINKER@ racketcs
|
||||
|
||||
gracketcs@NOT_OSX@@NOT_MINGW@: raw_gracketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS)
|
||||
$(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @BOOT_COMPRESS_COMP@ raw_gracketcs gracketcs petite-v.boot scheme-v.boot racket-v.boot
|
||||
@POST_LINKER@ gracketcs
|
||||
|
||||
SCHEME_LIBS = $(SCHEME_TARGET_INC)/libkernel.a \
|
||||
$(SCHEME_TARGET_INC)/../../lz4/lib/liblz4.a \
|
||||
|
@ -212,9 +214,11 @@ BOOT_OBJS = boot.o $(SCHEME_LIBS) rktio/librktio.a
|
|||
|
||||
raw_racketcs: main.o boot.o $(BOOT_OBJS)
|
||||
$(CC) $(CFLAGS) -o raw_racketcs main.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS)
|
||||
@POST_LINKER@ raw_racketcs
|
||||
|
||||
raw_gracketcs: grmain.o boot.o $(BOOT_OBJS)
|
||||
$(CC) $(CFLAGS) -o raw_gracketcs grmain.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS)
|
||||
@POST_LINKER@ raw_gracketcs
|
||||
|
||||
petite-v.boot: $(SCHEME_TARGET_INC)/petite.boot
|
||||
$(SCHEME) --script $(srcdir)/to-vfasl.ss @BOOT_COMPRESS_COMP@ @TT_CROSS_MODE@ $(SCHEME_TARGET_INC)/petite.boot petite-v.boot
|
||||
|
|
12
racket/src/cs/c/configure
vendored
12
racket/src/cs/c/configure
vendored
|
@ -656,6 +656,7 @@ RACKET
|
|||
RKTL_POST
|
||||
RKTL_PRE
|
||||
INCLUDEDEP
|
||||
POST_LINKER
|
||||
RKTLINKER
|
||||
STRIP_LIB_DEBUG
|
||||
STRIP_DEBUG
|
||||
|
@ -2839,6 +2840,7 @@ CONFIGURE_RACKET_SO_COMPILE=""
|
|||
COMPRESS_COMP=""
|
||||
BOOT_COMPRESS_COMP=""
|
||||
ELF_COMP=""
|
||||
POST_LINKER="echo"
|
||||
|
||||
FRAMEWORK_INSTALL_DIR='$(libpltdir)'
|
||||
FRAMEWORK_PREFIX='@executable_path/../lib/'
|
||||
|
@ -3910,8 +3912,8 @@ case "$host_os" in
|
|||
CFLAGS="${CFLAGS} -I/usr/local/include"
|
||||
LIBS="${LIBS} -L/usr/local/lib -liconv -lm -lpthread -lossp-uuid"
|
||||
LDFLAGS="${LDFLAGS} -Wl,-zwxneeded"
|
||||
# Can't strip until ELF lookup added to startup
|
||||
enable_strip=no
|
||||
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
|
||||
ELF_COMP="--expect-elf"
|
||||
;;
|
||||
bitrig*)
|
||||
;;
|
||||
|
@ -3920,8 +3922,9 @@ case "$host_os" in
|
|||
netbsd*)
|
||||
MACH_OS=nb
|
||||
LIBS="${LIBS} /usr/lib/i18n/libiconv_std.a -lm -lpthread"
|
||||
# Can't strip until ELF lookup added to startup
|
||||
enable_strip=no
|
||||
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
|
||||
ELF_COMP="--expect-elf"
|
||||
POST_LINKER="paxctl +m"
|
||||
;;
|
||||
irix*)
|
||||
;;
|
||||
|
@ -5044,6 +5047,7 @@ CPPFLAGS="$CPPFLAGS $PREFLAGS"
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
makefiles="Makefile"
|
||||
|
|
|
@ -125,6 +125,7 @@ CONFIGURE_RACKET_SO_COMPILE=""
|
|||
COMPRESS_COMP=""
|
||||
BOOT_COMPRESS_COMP=""
|
||||
ELF_COMP=""
|
||||
POST_LINKER="echo"
|
||||
|
||||
FRAMEWORK_INSTALL_DIR='$(libpltdir)'
|
||||
FRAMEWORK_PREFIX='@executable_path/../lib/'
|
||||
|
@ -191,8 +192,8 @@ case "$host_os" in
|
|||
CFLAGS="${CFLAGS} -I/usr/local/include"
|
||||
LIBS="${LIBS} -L/usr/local/lib -liconv -lm -lpthread -lossp-uuid"
|
||||
LDFLAGS="${LDFLAGS} -Wl,-zwxneeded"
|
||||
# Can't strip until ELF lookup added to startup
|
||||
enable_strip=no
|
||||
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
|
||||
ELF_COMP="--expect-elf"
|
||||
;;
|
||||
bitrig*)
|
||||
;;
|
||||
|
@ -201,8 +202,9 @@ case "$host_os" in
|
|||
netbsd*)
|
||||
MACH_OS=nb
|
||||
LIBS="${LIBS} /usr/lib/i18n/libiconv_std.a -lm -lpthread"
|
||||
# Can't strip until ELF lookup added to startup
|
||||
enable_strip=no
|
||||
CPPFLAGS="${CPPFLAGS} -DELF_FIND_BOOT_SECTION"
|
||||
ELF_COMP="--expect-elf"
|
||||
POST_LINKER="paxctl +m"
|
||||
;;
|
||||
irix*)
|
||||
;;
|
||||
|
@ -629,6 +631,7 @@ AC_SUBST(ICP)
|
|||
AC_SUBST(STRIP_DEBUG)
|
||||
AC_SUBST(STRIP_LIB_DEBUG)
|
||||
AC_SUBST(RKTLINKER)
|
||||
AC_SUBST(POST_LINKER)
|
||||
AC_SUBST(INCLUDEDEP)
|
||||
AC_SUBST(RKTL_PRE)
|
||||
AC_SUBST(RKTL_POST)
|
||||
|
|
|
@ -110,6 +110,7 @@ both:
|
|||
|
||||
gracket@CGC@ : $(RACKETDEPS) grmain.@LTO@ $(GRACKETOBJECTS) $(MRSTATIC_STUB) $(GRACKETRESDEP)
|
||||
$(GRACKETLINKER) $(GRACKETLDFLAGS) $(MRSTATIC) -o gracket@CGC@ $(GRACKETOBJECTS) $(GRACKETRES) $(GRACKETLDLIBS) $(MRSTATIC_STUB)
|
||||
@POST_LINKER@ gracket@CGC@
|
||||
|
||||
gres.o : $(srcdir)/../worksp/gracket/gracket.rc
|
||||
@WINDRES@ -i $(srcdir)/../worksp/gracket/gracket.rc -o gres.o
|
||||
|
|
|
@ -104,6 +104,7 @@ GRACKETMZOBJS_la =
|
|||
|
||||
../gracket@MMM@@NOT_OSX@@NOT_MINGW@: grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@ $(LIBRKTIO_@LIBSFX@)
|
||||
$(GRACKETLINKER) $(GRACKETLDFLAGS) -o ../gracket@MMM@ grmain.@LTO@ ../../racket/libracket3m.@LIBSFX@ $(GRACKETMZOBJS_@LIBSFX@) $(GRACKETLIBS_@LIBSFX@)
|
||||
@POST_LINKER@ ../gracket@MMM@
|
||||
|
||||
../gracket@MMM@@EXE_SUFFIX@@MINGW@: grmain.@LTO@ ../../racket/MemoryModule.@LTO@ ../../racket/gc2/libracket3m.dll.a ../gres.o
|
||||
$(GRACKETLINKER) -mwindows $(GRACKETLDFLAGS) -o ../gracket@MMM@@EXE_SUFFIX@ grmain.@LTO@ ../../racket/MemoryModule.@LTO@ ../gres.o ../../racket/gc2/libracket3m.dll.a $(GRACKETMZOBJS_@LIBSFX@) $(GRACKETLIBS_@LIBSFX@) -l delayimp -static-libgcc
|
||||
|
|
|
@ -203,6 +203,7 @@ sproc.@LTO@: @GCDIR@/sproc.@LTO@
|
|||
|
||||
racket@CGC@@NOT_OSX@@NOT_MINGW@: libracket.@LIBSFX@ libmzgc.@LIBSFX@ main.@LTO@ $(LIBRKTIO_FOR_LIB) $(SPECIALIZINGOBJECTS)
|
||||
@MZLINKER@ -o racket@CGC@ main.@LTO@ $(SPECIALIZINGOBJECTS) libracket.@LIBSFX@ libmzgc.@LIBSFX@ $(LIBRKTIO_FOR_LIB) @LDFLAGS@ @LIBS@
|
||||
@POST_LINKER@ racket@CGC@
|
||||
|
||||
mzcom@CGC@@NOT_MINGW@:
|
||||
$(NOOP)
|
||||
|
|
|
@ -284,6 +284,8 @@ LIBRACKET_DEP=""
|
|||
EXE_SUFFIX=
|
||||
SO_SUFFIX=.so
|
||||
|
||||
POST_LINKER="echo"
|
||||
|
||||
MMM=3m
|
||||
MMM_INSTALLED=
|
||||
MMM_CAP_INSTALLED=
|
||||
|
@ -574,6 +576,7 @@ case "$host_os" in
|
|||
;;
|
||||
netbsd*)
|
||||
LIBS="$LIBS -rdynamic"
|
||||
POST_LINKER="paxctl +m"
|
||||
;;
|
||||
irix*)
|
||||
enable_cgcdefault="yes"
|
||||
|
@ -1437,6 +1440,7 @@ AC_SUBST(STRIP_LIB_DEBUG)
|
|||
AC_SUBST(CC_FOR_BUILD)
|
||||
AC_SUBST(REZ)
|
||||
AC_SUBST(MZLINKER)
|
||||
AC_SUBST(POST_LINKER)
|
||||
AC_SUBST(PLAIN_CC)
|
||||
AC_SUBST(DYN_CFLAGS)
|
||||
|
||||
|
|
|
@ -587,6 +587,7 @@ EXTRA_OBJS_L = $(EXTRA_GMP) ../src/unwind.@LTO@ $(@FOREIGN_IF_USED@_OBJSLIB) $(L
|
|||
|
||||
../racket@MMM@@NOT_OSX@@NOT_MINGW@: main.@LTO@ ../libracket3m.@LIBSFX@ $(LIBRKTIO_FOR_LIB)
|
||||
cd ..; @MZLINKER@ -o racket@MMM@ @PROFFLAGS@ gc2/main.@LTO@ libracket3m.@LIBSFX@ $(LIBRKTIO_UP_FOR_LIB) @LDFLAGS@ $(LIBS)
|
||||
@POST_LINKER@ ../racket@MMM@
|
||||
|
||||
# The above "cd .." prevents a problem with libtool's generated script in --enable-shared mode,
|
||||
# at least for Mac OS X. Beware of changing LIBS or LDFLAGS to inclucde something with a relative
|
||||
|
|
Loading…
Reference in New Issue
Block a user