diff --git a/src/configure b/src/configure index f86f3abbc0..1ae6cb76b1 100755 --- a/src/configure +++ b/src/configure @@ -672,6 +672,7 @@ EXEEXT OBJEXT CPP RANLIB +STRIP GREP EGREP PREFLAGS @@ -1368,6 +1369,7 @@ Optional Features: --enable-bigendian assume "big" if endianness cannot be determined --enable-gprof compile for profiling with gprof (gcc only) --enable-gcov compile to gather gcov statistics (gcc3 only) + --enable-strip strip debug on install (usually enabled by default) --enable-noopt drop -O C flags (useful for low-level debugging) Some influential environment variables: @@ -2154,6 +2156,11 @@ if test "${enable_gcov+set}" = set; then fi +# Check whether --enable-noopt was given. +if test "${enable_noopt+set}" = set; then + enableval=$enable_noopt; +fi + # Check whether --enable-noopt was given. if test "${enable_noopt+set}" = set; then enableval=$enable_noopt; @@ -2376,6 +2383,8 @@ show_explicitly_enabled "${enable_gprof}" "gprof" show_explicitly_enabled "${enable_gcov}" "gcov" show_explicitly_enabled "${enable_noopt}" "No-optimization" "Note that this mode is intended only for debugging purposes" +show_explicitly_enabled "${enable_strip}" "Debug-symbol stripping" +show_explicitly_disabled "${enable_strip}" "Debug-symbol stripping" show_explicitly_disabled "${enable_mac64}" "64-bit Mac OS X" @@ -2461,6 +2470,7 @@ MAIN_VARIANT=3m INSTALL_SETUP_FLAGS= STRIP_DEBUG=":" +enable_strip_by_default=yes use_flag_pthread=yes skip_iconv_check=no @@ -4049,7 +4059,6 @@ case "$host_os" in linux*) LIBS="$LIBS -ldl -lm -rdynamic" DYN_CFLAGS="-fPIC" - STRIP_DEBUG="strip -S" try_poll_syscall=yes try_epoll_syscall=yes case "$host_cpu" in @@ -4166,8 +4175,6 @@ _ACEOF PREFLAGS="$PREFLAGS -DOS_X -D_DARWIN_UNLIMITED_SELECT" try_kqueue_syscall=yes - STRIP_DEBUG="/usr/bin/strip -S" - SO_SUFFIX=.dylib # Force 32-bit build unless mac64 is enabled: @@ -4258,6 +4265,114 @@ if test "${enable_sgc}" = "yes" ; then OPTIONS="$OPTIONS -DUSE_SENORA_GC" fi +############## Strip tool ################ + +if test "${enable_strip}" = "" ; then + if test "${enable_strip_by_default}" = "yes" ; then + enable_strip=yes + fi +fi + +if test "${enable_strip}" = "yes" ; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + STRIP_DEBUG="$STRIP -S" +fi + ############## C flags ################ ac_ext=c @@ -9770,6 +9885,7 @@ EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim CPP!$CPP$ac_delim RANLIB!$RANLIB$ac_delim +STRIP!$STRIP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim PREFLAGS!$PREFLAGS$ac_delim @@ -9808,7 +9924,6 @@ OSX!$OSX$ac_delim NOT_OSX!$NOT_OSX$ac_delim MINGW!$MINGW$ac_delim NOT_MINGW!$NOT_MINGW$ac_delim -FRAMEWORK_INSTALL_DIR!$FRAMEWORK_INSTALL_DIR$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -9850,6 +9965,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +FRAMEWORK_INSTALL_DIR!$FRAMEWORK_INSTALL_DIR$ac_delim FRAMEWORK_REL_INSTALL!$FRAMEWORK_REL_INSTALL$ac_delim FRAMEWORK_PREFIX!$FRAMEWORK_PREFIX$ac_delim INSTALL_ORIG_TREE!$INSTALL_ORIG_TREE$ac_delim @@ -9906,7 +10022,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 54; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 55; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/src/gracket/Makefile.in b/src/gracket/Makefile.in index 34c6990fa2..927a48a538 100644 --- a/src/gracket/Makefile.in +++ b/src/gracket/Makefile.in @@ -196,6 +196,7 @@ install-lib-cgc-wx_xt: install-wx_xt-cgc: $(MAKE) @MRLIBINSTALL@-cgc-wx_xt cd ..; $(ICP) gracket/gracket@CGC@ "$(DESTDIR)@MZINSTALLBINDIR@/gracket@CGC_INSTALLED@" + cd ..; @STRIP_DEBUG@ "$(DESTDIR)@MZINSTALLBINDIR@/gracket@CGC_INSTALLED@" @RUN_RACKET_CGC@ -cu "$(srcdir)/../racket/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)@MZINSTALLBINDIR@/gracket@CGC_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ @COLLECTS_PATH@ install-wx_xt-cgc-final: @@ -210,6 +211,7 @@ install-lib-3m-wx_xt: install-wx_xt-3m: $(MAKE) @MRLIBINSTALL@-3m-wx_xt cd ..; $(ICP) gracket/gracket@MMM@ "$(DESTDIR)@MZINSTALLBINDIR@/gracket@MMM_INSTALLED@" + cd ..; @STRIP_DEBUG@ "$(DESTDIR)@MZINSTALLBINDIR@/gracket@MMM_INSTALLED@" @RUN_RACKET_MMM@ -cu "$(srcdir)/../racket/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)@MZINSTALLBINDIR@/gracket@MMM_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ @COLLECTS_PATH@ install-wx_xt-3m-final: diff --git a/src/racket/Makefile.in b/src/racket/Makefile.in index 68297a5c31..624c80aac2 100644 --- a/src/racket/Makefile.in +++ b/src/racket/Makefile.in @@ -341,6 +341,7 @@ unix-install-cgc: cd ..; $(ICP) racket/libmzgc.@LIBSFX@ "$(DESTDIR)$(libdir)/libmzgc.@LIBSFX@" cd ..; $(ICP) racket/libracket.@LIBSFX@ "$(DESTDIR)$(libdir)/libracket.@LIBSFX@" cd ..; $(ICP) racket/racket@CGC@ "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@" + cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@" cd ..; cp racket/mzdyn.o "$(DESTDIR)$(libpltdir)/mzdyn.o" @RUN_RACKET_CGC@ -cu "$(srcdir)/collects-path.rkt" "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@@EXE_SUFFIX@" @COLLECTS_PATH@ @@ -349,6 +350,7 @@ unix-install-cgc-final: unix-install-3m: cd ..; $(ICP) racket/racket@MMM@ "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@" + cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@" cd ..; $(ICP) racket/libracket3m.@LIBSFX@ "$(DESTDIR)$(libdir)/libracket3m.@LIBSFX@" cd ..; $(ICP) racket/mzdyn3m.o "$(DESTDIR)$(libpltdir)/mzdyn3m.o" @RUN_RACKET_MMM@ -cu "$(srcdir)/collects-path.rkt" "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@@EXE_SUFFIX@" @COLLECTS_PATH@ diff --git a/src/racket/configure.ac b/src/racket/configure.ac index 1263301fa1..5b2d6a3bf9 100644 --- a/src/racket/configure.ac +++ b/src/racket/configure.ac @@ -70,6 +70,7 @@ AC_ARG_ENABLE(bigendian, [ --enable-bigendian assume "big" if endianness c AC_ARG_ENABLE(gprof, [ --enable-gprof compile for profiling with gprof (gcc only)]) AC_ARG_ENABLE(gcov, [ --enable-gcov compile to gather gcov statistics (gcc3 only)]) +AC_ARG_ENABLE(noopt, [ --enable-strip strip debug on install (usually enabled by default)]) AC_ARG_ENABLE(noopt, [ --enable-noopt drop -O C flags (useful for low-level debugging)]) ###### Some flags imply other flags ####### @@ -288,6 +289,8 @@ show_explicitly_enabled "${enable_gprof}" "gprof" show_explicitly_enabled "${enable_gcov}" "gcov" show_explicitly_enabled "${enable_noopt}" "No-optimization" "Note that this mode is intended only for debugging purposes" +show_explicitly_enabled "${enable_strip}" "Debug-symbol stripping" +show_explicitly_disabled "${enable_strip}" "Debug-symbol stripping" show_explicitly_disabled "${enable_mac64}" "64-bit Mac OS X" @@ -373,6 +376,7 @@ MAIN_VARIANT=3m INSTALL_SETUP_FLAGS= STRIP_DEBUG=":" +enable_strip_by_default=yes use_flag_pthread=yes skip_iconv_check=no @@ -562,7 +566,6 @@ case "$host_os" in linux*) LIBS="$LIBS -ldl -lm -rdynamic" DYN_CFLAGS="-fPIC" - STRIP_DEBUG="strip -S" try_poll_syscall=yes try_epoll_syscall=yes case "$host_cpu" in @@ -675,8 +678,6 @@ case "$host_os" in PREFLAGS="$PREFLAGS -DOS_X -D_DARWIN_UNLIMITED_SELECT" try_kqueue_syscall=yes - STRIP_DEBUG="/usr/bin/strip -S" - SO_SUFFIX=.dylib # Force 32-bit build unless mac64 is enabled: @@ -767,6 +768,19 @@ if test "${enable_sgc}" = "yes" ; then OPTIONS="$OPTIONS -DUSE_SENORA_GC" fi +############## Strip tool ################ + +if test "${enable_strip}" = "" ; then + if test "${enable_strip_by_default}" = "yes" ; then + enable_strip=yes + fi +fi + +if test "${enable_strip}" = "yes" ; then + AC_CHECK_TOOL([STRIP], [strip]) + STRIP_DEBUG="$STRIP -S" +fi + ############## C flags ################ AC_LANG_C