changeset 108229:0c1c81ee223e

Move LD_SWITCH_X_SITE_AUX from cpp to autoconf. * configure.in (LD_SWITCH_X_SITE_AUX): Use AC_SUBST only, not AC_DEFINE as well. (LD_SWITCH_X_SITE_AUX_RPATH): New output variable. * nt/config.nt (LD_SWITCH_X_SITE_AUX): Remove. * src/s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell variable. * src/s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove. (LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH. * src/s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove. (LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of LD_SWITCH_SYSTEM_tmp. * src/Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH): New variables, set by configure.
author Glenn Morris <rgm@gnu.org>
date Mon, 03 May 2010 20:13:35 -0700
parents 385494b60342
children 109b5dfeb1dd
files ChangeLog configure.in nt/ChangeLog nt/config.nt src/ChangeLog src/Makefile.in src/s/gnu-linux.h src/s/netbsd.h src/s/openbsd.h
diffstat 9 files changed, 38 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon May 03 20:06:27 2010 -0700
+++ b/ChangeLog	Mon May 03 20:13:35 2010 -0700
@@ -1,5 +1,9 @@
 2010-05-04  Glenn Morris  <rgm@gnu.org>
 
+	* configure.in (LD_SWITCH_X_SITE_AUX): Use AC_SUBST only, not AC_DEFINE
+	as well.
+	(LD_SWITCH_X_SITE_AUX_RPATH): New output variable.
+
 	* configure.in (LD_SWITCH_SYSTEM_TEMACS): New output variable.
 
 	* configure.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM): New output
--- a/configure.in	Mon May 03 20:06:27 2010 -0700
+++ b/configure.in	Mon May 03 20:13:35 2010 -0700
@@ -917,10 +917,6 @@
 #define LD_SWITCH_SYSTEM
 #endif
 
-#ifndef LD_SWITCH_X_SITE_AUX
-#define LD_SWITCH_X_SITE_AUX
-#endif
-
 configure___ ld_switch_system=LD_SWITCH_SYSTEM
 
 #ifdef THIS_IS_CONFIGURE
@@ -1326,17 +1322,19 @@
 ## Workaround for bug in autoconf <= 2.62.
 ## http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01551.html
 ## No need to do anything special for these standard directories.
-## This is an experiment, take it out if it causes problems.
 if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then
 
    x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
 
 fi
 
+LD_SWITCH_X_SITE_AUX=
+LD_SWITCH_X_SITE_AUX_RPATH=
 if test "${x_libraries}" != NONE; then
   if test -n "${x_libraries}"; then
     LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
     LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
+    LD_SWITCH_X_SITE_AUX_RPATH=`echo ${LD_SWITCH_X_SITE_AUX} | sed -e 's/-R/-Wl,-rpath,/'`
   fi
   x_default_search_path=""
   x_search_path=${x_libraries}
@@ -1359,6 +1357,9 @@
     fi
   done
 fi
+AC_SUBST(LD_SWITCH_X_SITE_AUX)
+AC_SUBST(LD_SWITCH_X_SITE_AUX_RPATH)
+
 if test "${x_includes}" != NONE && test -n "${x_includes}"; then
   C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
 fi
@@ -2829,7 +2830,6 @@
 AC_SUBST(gameuser)
 AC_SUBST(unexec)
 AC_SUBST(LD_SWITCH_X_SITE)
-AC_SUBST(LD_SWITCH_X_SITE_AUX)
 AC_SUBST(C_SWITCH_X_SITE)
 AC_SUBST(C_SWITCH_X_SYSTEM)
 AC_SUBST(CFLAGS)
@@ -2863,9 +2863,6 @@
  HAVE_X_WINDOWS above and your X libraries aren't in a place that
  your loader can find on its own, you might want to add "-L/..." or
  something similar.])
-AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX},
-		   [Define LD_SWITCH_X_SITE_AUX with an -R option
-		    in case it's needed (for Solaris, for example).])
 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE},
 [Define C_SWITCH_X_SITE to contain any special flags your compiler
  may need to deal with X Windows.  For instance, if you've defined
--- a/nt/ChangeLog	Mon May 03 20:06:27 2010 -0700
+++ b/nt/ChangeLog	Mon May 03 20:13:35 2010 -0700
@@ -1,3 +1,7 @@
+2010-05-04  Glenn Morris  <rgm@gnu.org>
+
+	* config.nt (LD_SWITCH_X_SITE_AUX): Remove.
+
 2010-04-20  Lewis Perin  <perin@panix.com>  (tiny change)
 
 	* emacs.manifest: Add trustInfo section to Windows manifest.
--- a/nt/config.nt	Mon May 03 20:06:27 2010 -0700
+++ b/nt/config.nt	Mon May 03 20:13:35 2010 -0700
@@ -325,10 +325,6 @@
    something similar.  */
 #undef LD_SWITCH_X_SITE
 
-/* Define LD_SWITCH_X_SITE_AUX with an -R option
-   in case it's needed (for Solaris, for example).  */
-#undef LD_SWITCH_X_SITE_AUX
-
 /* Define C_SWITCH_X_SITE to contain any special flags your compiler
    may need to deal with X Windows.  For instance, if you've defined
    HAVE_X_WINDOWS above and your X include files aren't in a place
--- a/src/ChangeLog	Mon May 03 20:06:27 2010 -0700
+++ b/src/ChangeLog	Mon May 03 20:13:35 2010 -0700
@@ -1,5 +1,15 @@
 2010-05-04  Glenn Morris  <rgm@gnu.org>
 
+	* s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell
+	variable.
+	* s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
+	(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH.
+	* s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
+	(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of
+	LD_SWITCH_SYSTEM_tmp.
+	* Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH):
+	New variables, set by configure.
+
 	* 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.
--- a/src/Makefile.in	Mon May 03 20:06:27 2010 -0700
+++ b/src/Makefile.in	Mon May 03 20:13:35 2010 -0700
@@ -77,6 +77,11 @@
 ## This holds any special options for linking temacs only (ie, not
 ## used by configure).
 LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
+## Next two must come before LD_SWITCH_SYSTEM.
+## If needed, a -R option that says where to find X windows at run time.
+LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@
+## As above, but using -rpath instead.
+LD_SWITCH_X_SITE_AUX_RPATH=@LD_SWITCH_X_SITE_AUX_RPATH@
 
 LIBTIFF=@LIBTIFF@
 LIBJPEG=@LIBJPEG@
--- a/src/s/gnu-linux.h	Mon May 03 20:06:27 2010 -0700
+++ b/src/s/gnu-linux.h	Mon May 03 20:13:35 2010 -0700
@@ -1,6 +1,7 @@
 /* This file is the configuration file for Linux-based GNU systems
    Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+                 2005, 2006, 2007, 2008, 2009, 2010
+                 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -171,12 +172,12 @@
 #define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
 
 /* Here is how to find X Windows.  LD_SWITCH_X_SITE_AUX gives an -R option
-   says where to find X windows at run time.  */
+   that says where to find X windows at run time.  */
 
 #ifdef __mips__
-#define LD_SWITCH_SYSTEM -G 0 LD_SWITCH_X_SITE_AUX
+#define LD_SWITCH_SYSTEM -G 0 $(LD_SWITCH_X_SITE_AUX)
 #else
-#define LD_SWITCH_SYSTEM LD_SWITCH_X_SITE_AUX
+#define LD_SWITCH_SYSTEM $(LD_SWITCH_X_SITE_AUX)
 #endif /* __mips__ */
 
 #ifdef emacs
@@ -192,11 +193,6 @@
 #define LIB_GCC
 #define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
 
-/* _BSD_SOURCE is redundant, at least in glibc2, since we define
-   _GNU_SOURCE.  Left in in case it's relevant to libc5 systems and
-   anyone's still using Emacs on those.  --fx 2002-12-14  */
-/* #define C_SWITCH_SYSTEM -D_BSD_SOURCE */
-
 #ifdef HAVE_LIBNCURSES
 #define TERMINFO
 #define LIBS_TERMCAP -lncurses
--- a/src/s/netbsd.h	Mon May 03 20:06:27 2010 -0700
+++ b/src/s/netbsd.h	Mon May 03 20:13:35 2010 -0700
@@ -43,11 +43,9 @@
 
 #define AMPERSAND_FULL_NAME
 
-/* Here is how to find X Windows.  LD_SWITCH_X_SITE_AUX gives an -R option
-   says where to find X windows at run time.  We convert it to a -rpath option
-   which is what OSF1 uses.  */
-#define LD_SWITCH_SYSTEM_tmp `echo LD_SWITCH_X_SITE_AUX | sed -e 's/-R/-Wl,-rpath,/'`
-#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib
+/* LD_SWITCH_X_SITE_AUX_RPATH gives a -rpath option (which is what
+   OSF1 uses) that says where to find X windows at run time.  */
+#define LD_SWITCH_SYSTEM $(LD_SWITCH_X_SITE_AUX_RPATH) -Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib
 
 /* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
    the library search parth, i.e. it won't search /usr/lib
--- a/src/s/openbsd.h	Mon May 03 20:06:27 2010 -0700
+++ b/src/s/openbsd.h	Mon May 03 20:13:35 2010 -0700
@@ -3,13 +3,6 @@
 /* Mostly the same as NetBSD.  */
 #include "netbsd.h"
 
-/*  This very-badly named symbol is conditionally defined in netbsd.h.
-    Better would be either to not need it in the first place, or to choose
-    a more descriptive name.  */
-#ifndef LD_SWITCH_SYSTEM_tmp
-#define LD_SWITCH_SYSTEM_tmp /* empty */
-#endif
-
 /*  David Mazieres <dm@reeducation-labor.lcs.mit.edu> says this
     is necessary.  Otherwise Emacs dumps core when run -nw.  */
 #undef LIBS_TERMCAP
@@ -21,7 +14,7 @@
 
   /*  Han Boetes <han@mijncomputer.nl> says this
       is necessary,  otherwise Emacs dumps core on elf systems.  */
-#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Z
+#define LD_SWITCH_SYSTEM $(LD_SWITCH_X_SITE_AUX_RPATH) -Z
 
 /* arch-tag: 7e3f65ca-3f48-4237-933f-2b208b21e8e2
    (do not change this comment) */