]> git.eshelyaron.com Git - emacs.git/commitdiff
Move LD_SWITCH_SYSTEM_TEMACS from cpp to autoconf.
authorGlenn Morris <rgm@gnu.org>
Tue, 4 May 2010 03:06:27 +0000 (20:06 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 4 May 2010 03:06:27 +0000 (20:06 -0700)
* configure.in (LD_SWITCH_SYSTEM_TEMACS): New output variable.

* src/s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
* src/Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure.
(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS.

ChangeLog
configure.in
src/ChangeLog
src/Makefile.in
src/s/aix4-2.h
src/s/darwin.h

index efcc5991fb7ae256c938ea87a1362a69a39a328d..c9b61269fe0734c6654197836c694b4fc5e65edf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2010-05-04  Glenn Morris  <rgm@gnu.org>
 
+       * configure.in (LD_SWITCH_SYSTEM_TEMACS): New output variable.
+
        * configure.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM): New output
        variables, replacing c_switch_machine, c_switch_system.
 
index 184dbef6ff154e3bed9cac143de1851b7febc6c0..48dbff5254f7a8e66d6886f119d99fa9fdade740 100644 (file)
@@ -2992,6 +2992,30 @@ AC_SUBST(CYGWIN_OBJ)
 AC_SUBST(PRE_ALLOC_OBJ)
 AC_SUBST(POST_ALLOC_OBJ)
 
+
+case "$opsys" in
+  aix4-2) LD_SWITCH_SYSTEM_TEMACS="-Wl,-bnodelcsect" ;;
+
+  darwin)
+  ## The -headerpad option tells ld (see man page) to leave room at the
+  ## end of the header for adding load commands.  Needed for dumping.
+  ## 0x690 is the total size of 30 segment load commands (at 56
+  ## each); under Cocoa 31 commands are required.
+  if test "$HAVE_NS" = "yes"; then
+    libs_nsgui="-framework AppKit"
+    headerpad_extra=6C8
+  else
+    libs_nsgui=
+    headerpad_extra=690
+  fi
+  LD_SWITCH_SYSTEM_TEMACS="-prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
+  ;;
+
+  *) LD_SWITCH_SYSTEM_TEMACS= ;;
+esac
+AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
+
+
 AH_TOP([/* GNU Emacs site configuration template file.
    Copyright (C) 1988, 1993, 1994, 1999, 2000, 2001, 2002, 2004, 2005,
      2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
index 33d550e78240d71af858aaba39b1bb39cc08be79..cbd5088e173248972544b34668f988ac7108cd52 100644 (file)
@@ -1,5 +1,11 @@
 2010-05-04  Glenn Morris  <rgm@gnu.org>
 
+       * s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
+       * s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove.
+       (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
+       * Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure.
+       (TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS.
+
        * s/aix4-2.h (C_SWITCH_SYSTEM):
        * m/alpha.h (C_SWITCH_MACHINE):
        Move to configure.in.
index 220eac61c1f5a065265a3fe5c0175e345cbd699e..fd6493aee294f82b4f17e79d83cdb744d4db1625 100644 (file)
@@ -74,6 +74,9 @@ CRT_DIR=@CRT_DIR@
 C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
 ## System-specific CFLAGS.
 C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
+## This holds any special options for linking temacs only (ie, not
+## used by configure).
+LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
 
 LIBTIFF=@LIBTIFF@
 LIBJPEG=@LIBJPEG@
@@ -201,12 +204,6 @@ DEPFLAGS = -MMD -MF deps/$*.d
 #endif /* (defined (BSD_SYSTEM) && !defined (COFF)) */
 #endif /* LD_SWITCH_SYSTEM */
 
-/* This holds special options for linking temacs
-   that should be used for linking anything else.  */
-#ifndef LD_SWITCH_SYSTEM_TEMACS
-#define LD_SWITCH_SYSTEM_TEMACS
-#endif
-
 /* These macros are for switches specifically related to X Windows.  */
 #ifndef LD_SWITCH_X_SITE
 #define LD_SWITCH_X_SITE
@@ -326,7 +323,7 @@ LD=ld
 /* Flags to pass to LD only for temacs.  */
 /* Do not split this line with a backslash.  That can cause trouble with
    some cpps.  */
-TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS
+TEMACS_LDFLAGS = LD_SWITCH_SYSTEM $(LD_SWITCH_SYSTEM_TEMACS)
 
 /* 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
index f6ed94828d4b0559f9425b21c937070801324e65..b7de0312f7b4b784dbfbf42d8c0ca143c6fd6bfa 100644 (file)
@@ -100,9 +100,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define LIBS_SYSTEM -lrts -lIM -liconv
 #endif
 
-#define LD_SWITCH_SYSTEM_TEMACS -Wl,-bnodelcsect
-
-
 
 /* Use terminfo instead of termcap.  */
 
index 060e354dca7b4fcc5b79a7d23ce1c02837f4bbed..de8369ddae208ceb07d1d521c34988be5313361d 100644 (file)
@@ -163,13 +163,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Definitions for how to compile & link.  */
 
 #ifdef HAVE_NS
-#define LIBS_NSGUI -framework AppKit
 #define SYSTEM_PURESIZE_EXTRA 200000
-#define HEADERPAD_EXTRA 6C8
-#else /* !HAVE_NS */
-#define LIBS_NSGUI
-#define HEADERPAD_EXTRA 690
-#endif /* !HAVE_NS */
+#endif
 
 /* On Darwin, res_init appears not to be useful: see bug#562 and
    http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01467.html  */
@@ -177,12 +172,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #undef HAVE_RES_INIT
 #undef HAVE_LIBRESOLV
 
-/* The -headerpad option tells ld (see man page) to leave room at the
-   end of the header for adding load commands.  Needed for dumping.
-   0x690 is the total size of 30 segment load commands (at 56
-   each); under Cocoa 31 commands are required.  */
-#define LD_SWITCH_SYSTEM_TEMACS -prebind LIBS_NSGUI -Xlinker -headerpad -Xlinker HEADERPAD_EXTRA
-
 #ifdef emacs
 #define malloc unexec_malloc
 #define realloc unexec_realloc