Mercurial > emacs
changeset 108510:b9450230de5c
Simplify linker-related logic in src/Makefile.in.
* src/Makefile.in (YMF_PASS_LDFLAGS, LD, LINKER): Simplify the logic.
(LINKER_WAS_SPECIFIED): Remove.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Tue, 11 May 2010 20:44:36 -0700 |
parents | 0db9ef2f88bd |
children | f8e62c2bf3e9 |
files | src/ChangeLog src/Makefile.in |
diffstat | 2 files changed, 26 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Tue May 11 20:09:56 2010 -0700 +++ b/src/ChangeLog Tue May 11 20:44:36 2010 -0700 @@ -1,5 +1,8 @@ 2010-05-12 Glenn Morris <rgm@gnu.org> + * Makefile.in (YMF_PASS_LDFLAGS, LD, LINKER): Simplify the logic. + (LINKER_WAS_SPECIFIED): Remove. + * 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]:
--- a/src/Makefile.in Tue May 11 20:09:56 2010 -0700 +++ b/src/Makefile.in Tue May 11 20:44:36 2010 -0700 @@ -1,7 +1,7 @@ # Makefile for GNU Emacs. # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -# Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +# Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -260,16 +260,22 @@ LIBX_OTHER=@LIBX_OTHER@ #endif /* not HAVE_X_WINDOWS */ -#ifndef ORDINARY_LINK + +/* A macro which other sections of Makefile can redefine to munge the + flags before they are passed to LD. This is helpful if you have + redefined LD to something odd, like "gcc". + (The YMF prefix is a holdover from the old name "ymakefile".) */ +#define YMF_PASS_LDFLAGS(flags) flags + + +#ifdef ORDINARY_LINK +LD = $(CC) + +#else /* not ORDINARY_LINK */ GNULIB_VAR = $(LIB_GCC) /* Fix linking if compiled with GCC. */ -#ifdef __GNUC__ - -#ifdef LINKER -#define LINKER_WAS_SPECIFIED -#endif - +#if defined (__GNUC__) && ! defined (LINKER) /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure places that are difficult to figure out at make time. Fortunately, these same versions allow you to pass arbitrary flags on to the @@ -278,42 +284,23 @@ Well, it is not quite perfect. The "-nostdlib" keeps GCC from searching for libraries in its internal directories, so we have to ask GCC explicitly where to find libgcc.a. */ - -#ifndef LINKER #define LINKER $(CC) -nostdlib -#endif +/* GCC passes any argument prefixed with -Xlinker directly to the linker. + See prefix-args.c for an explanation of why we do not do this with the + shell''s ``for'' construct. Note that sane people do not have '.' in + their paths, so we must use ./prefix-args. */ +#undef YMF_PASS_LDFLAGS +#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` +#endif /* defined (__GNUC__) && ! defined (LINKER) */ -#ifndef LINKER_WAS_SPECIFIED -/* GCC passes any argument prefixed with -Xlinker directly to the - linker. See prefix-args.c for an explanation of why we do not do - this with the shell''s ``for'' construct. - Note that some people do not have '.' in their paths, so we must - use ./prefix-args. */ -#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` -#else -#define YMF_PASS_LDFLAGS(flags) flags -#endif - -#endif /* not ORDINARY_LINK */ - -#ifdef ORDINARY_LINK -LD = $(CC) -#else #ifdef LINKER LD=LINKER #else /* not LINKER */ LD=ld #endif /* not LINKER */ + #endif /* not ORDINARY_LINK */ -/* A macro which other sections of Makefile can redefine to munge the - flags before they are passed to LD. This is helpful if you have - redefined LD to something odd, like "gcc". - (The YMF prefix is a holdover from the old name "ymakefile".) - */ -#ifndef YMF_PASS_LDFLAGS -#define YMF_PASS_LDFLAGS(flags) flags -#endif #ifdef MSDOS #ifdef HAVE_X_WINDOWS