Commit 1a0d7c06 authored by Glenn Morris's avatar Glenn Morris
Browse files

Move LIB_GCC from cpp to configure.

* configure.in (LIB_GCC): New output variable.

* src/Makefile.in (LIB_GCC): Set using configure, not cpp.
(GNULIB_VAR) [!ORDINARY_LINK]: Always set to $LIB_GCC.
* src/m/arm.h (LIB_GCC) [GNU_LINUX]:
* src/s/cygwin.h (LIB_GCC):
* src/s/freebsd.h (LIB_GCC):
* src/s/gnu-linux.h (LIB_GCC):
* src/s/msdos.h (LIB_GCC):
* src/s/netbsd.h (LIB_GCC):
Move to configure.

* msdos/sed1v2.inp (LIB_GCC): Edit to -Lgcc.
parent 6a321bbc
2010-05-12 Glenn Morris <rgm@gnu.org>
* configure.in (LIB_GCC): New output variable.
2010-05-11 Glenn Morris <rgm@gnu.org> 2010-05-11 Glenn Morris <rgm@gnu.org>
* make-dist (msdos): No more mainmake. * make-dist (msdos): No more mainmake.
......
...@@ -3234,6 +3234,35 @@ fi ...@@ -3234,6 +3234,35 @@ fi
AC_SUBST(LD_SWITCH_SYSTEM_EXTRA) AC_SUBST(LD_SWITCH_SYSTEM_EXTRA)
LIB_GCC=
if test "x$GCC" = "xyes"; then
case "$opsys" in
## cygwin: don't link against static libgcc.
cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
gnu-*)
## armin76@gentoo.org reported that the lgcc_s flag is necessary to
## build on ARM EABI under GNU/Linux. (Bug#5518)
## Note that m/arm.h never bothered to undefine LIB_GCC first.
if test "$machine" = "arm"; then
LIB_GCC="-lgcc_s"
else
## FIXME? s/gnu-linux.h used to define LIB_GCC as below, then
## immediately undefine it again and redefine it to empty.
## Was the C_SWITCH_X_SITE part really necessary?
## LIB_GCC=`$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`
LIB_GCC=
fi
;;
## Ask GCC where to find libgcc.a.
*) LIB_GCC=`$(CC) -print-libgcc-file-name 2> /dev/null` ;;
esac
fi dnl if $GCC
AC_SUBST(LIB_GCC)
AH_TOP([/* GNU Emacs site configuration template file. AH_TOP([/* GNU Emacs site configuration template file.
Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005, Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
......
2010-05-12 Glenn Morris <rgm@gnu.org>
* sed1v2.inp (LIB_GCC): Edit to -Lgcc.
2010-05-11 Glenn Morris <rgm@gnu.org> 2010-05-11 Glenn Morris <rgm@gnu.org>
* sed1x.inp (LIBS_SYSTEM): Edit to -lxext -lsys. * sed1x.inp (LIBS_SYSTEM): Edit to -lxext -lsys.
......
...@@ -51,6 +51,7 @@ s/@LIB_MATH@/-lm/ ...@@ -51,6 +51,7 @@ s/@LIB_MATH@/-lm/
/^LD_SWITCH_SYSTEM *=/s/@LD_SWITCH_SYSTEM@// /^LD_SWITCH_SYSTEM *=/s/@LD_SWITCH_SYSTEM@//
/^LD_SWITCH_SYSTEM_EXTRA *=/s/@LD_SWITCH_SYSTEM_EXTRA@// /^LD_SWITCH_SYSTEM_EXTRA *=/s/@LD_SWITCH_SYSTEM_EXTRA@//
/^LIBS_SYSTEM *=/s/@LIBS_SYSTEM@// /^LIBS_SYSTEM *=/s/@LIBS_SYSTEM@//
/^LIB_GCC *=/s/@LIB_GCC@/-Lgcc/
/^LIBTIFF *=/s/@LIBTIFF@// /^LIBTIFF *=/s/@LIBTIFF@//
/^LIBJPEG *=/s/@LIBJPEG@// /^LIBJPEG *=/s/@LIBJPEG@//
/^LIBPNG *=/s/@LIBPNG@// /^LIBPNG *=/s/@LIBPNG@//
......
2010-05-12 Glenn Morris <rgm@gnu.org>
* Makefile.in (LIB_GCC): Set using configure, not cpp.
(GNULIB_VAR) [!ORDINARY_LINK]: Always set to $LIB_GCC.
* m/arm.h (LIB_GCC) [GNU_LINUX]:
* s/cygwin.h (LIB_GCC):
* s/freebsd.h (LIB_GCC):
* s/gnu-linux.h (LIB_GCC):
* s/msdos.h (LIB_GCC):
* s/netbsd.h (LIB_GCC):
Move to configure.
2010-05-11 Karel Klic <kklic@redhat.com> 2010-05-11 Karel Klic <kklic@redhat.com>
* ftfont.c: Fix incorrect parentheses of #if condition for * ftfont.c: Fix incorrect parentheses of #if condition for
......
...@@ -91,6 +91,9 @@ TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTE ...@@ -91,6 +91,9 @@ TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTE
## Some systems define this to request special libraries. ## Some systems define this to request special libraries.
LIBS_SYSTEM=@LIBS_SYSTEM@ LIBS_SYSTEM=@LIBS_SYSTEM@
## Where to find libgcc.a, if using gcc and necessary.
LIB_GCC=@LIB_GCC@
LIBTIFF=@LIBTIFF@ LIBTIFF=@LIBTIFF@
LIBJPEG=@LIBJPEG@ LIBJPEG=@LIBJPEG@
LIBPNG=@LIBPNG@ LIBPNG=@LIBPNG@
...@@ -258,6 +261,8 @@ LIBX_OTHER=@LIBX_OTHER@ ...@@ -258,6 +261,8 @@ LIBX_OTHER=@LIBX_OTHER@
#endif /* not HAVE_X_WINDOWS */ #endif /* not HAVE_X_WINDOWS */
#ifndef ORDINARY_LINK #ifndef ORDINARY_LINK
GNULIB_VAR = $(LIB_GCC)
/* Fix linking if compiled with GCC. */ /* Fix linking if compiled with GCC. */
#ifdef __GNUC__ #ifdef __GNUC__
...@@ -278,13 +283,6 @@ LIBX_OTHER=@LIBX_OTHER@ ...@@ -278,13 +283,6 @@ LIBX_OTHER=@LIBX_OTHER@
#define LINKER $(CC) -nostdlib #define LINKER $(CC) -nostdlib
#endif #endif
#ifndef LIB_GCC
/* Ask GCC where to find libgcc.a. */
#define LIB_GCC `$(CC) -print-libgcc-file-name`
#endif /* not LIB_GCC */
GNULIB_VAR = LIB_GCC
#ifndef LINKER_WAS_SPECIFIED #ifndef LINKER_WAS_SPECIFIED
/* GCC passes any argument prefixed with -Xlinker directly to the /* GCC passes any argument prefixed with -Xlinker directly to the
linker. See prefix-args.c for an explanation of why we do not do linker. See prefix-args.c for an explanation of why we do not do
...@@ -296,10 +294,6 @@ GNULIB_VAR = LIB_GCC ...@@ -296,10 +294,6 @@ GNULIB_VAR = LIB_GCC
#define YMF_PASS_LDFLAGS(flags) flags #define YMF_PASS_LDFLAGS(flags) flags
#endif #endif
#else /* not __GNUC__ */
GNULIB_VAR =
#endif /* not __GNUC__ */
#endif /* not ORDINARY_LINK */ #endif /* not ORDINARY_LINK */
#ifdef ORDINARY_LINK #ifdef ORDINARY_LINK
......
...@@ -24,11 +24,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -24,11 +24,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define NO_REMAP #define NO_REMAP
/* armin76@gentoo.org reported that the lgcc_s flag is necessary to
build on ARM EABI under GNU/Linux (Bug#5518). */
#ifdef GNU_LINUX
#define LIB_GCC -lgcc_s
#endif
/* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42 /* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42
(do not change this comment) */ (do not change this comment) */
...@@ -127,9 +127,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -127,9 +127,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */
#define G_SLICE_ALWAYS_MALLOC #define G_SLICE_ALWAYS_MALLOC
/* Don't link against static libgcc */
#define LIB_GCC
/* the end */ /* the end */
/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b
......
...@@ -30,9 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -30,9 +30,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
#undef LIB_GCC
#define LIB_GCC
#define HAVE_GETLOADAVG 1 #define HAVE_GETLOADAVG 1
#define DECLARE_GETPWUID_WITH_UID_T #define DECLARE_GETPWUID_WITH_UID_T
......
...@@ -140,9 +140,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -140,9 +140,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif /* !_IO_STDIO_H && ! __UCLIBC__ */ #endif /* !_IO_STDIO_H && ! __UCLIBC__ */
#endif /* emacs */ #endif /* emacs */
/* Ask GCC where to find libgcc.a. */
#define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`
#ifdef emacs #ifdef emacs
#define INTERRUPT_INPUT #define INTERRUPT_INPUT
#endif #endif
...@@ -151,9 +148,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -151,9 +148,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define POSIX /* affects getpagesize.h and systty.h */ #define POSIX /* affects getpagesize.h and systty.h */
#undef LIB_GCC
#define LIB_GCC
#define UNEXEC unexelf.o #define UNEXEC unexelf.o
/* This is to work around mysterious gcc failures in some system versions. /* This is to work around mysterious gcc failures in some system versions.
......
...@@ -95,7 +95,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ ...@@ -95,7 +95,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
#define ORDINARY_LINK #define ORDINARY_LINK
/* command.com does not understand `...` so we define this. */ /* command.com does not understand `...` so we define this. */
#define LIB_GCC -Lgcc
#define SEPCHAR ';' #define SEPCHAR ';'
#define NULL_DEVICE "nul" #define NULL_DEVICE "nul"
......
...@@ -26,9 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ ...@@ -26,9 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
#undef LIB_GCC
#define LIB_GCC
#define AMPERSAND_FULL_NAME #define AMPERSAND_FULL_NAME
/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment