From 27a2cdfc50abe67b29740b1230559fa7d7142c22 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 3 May 2010 20:13:35 -0700 Subject: [PATCH] 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. --- ChangeLog | 4 ++++ configure.in | 15 ++++++--------- nt/ChangeLog | 4 ++++ nt/config.nt | 4 ---- src/ChangeLog | 10 ++++++++++ src/Makefile.in | 5 +++++ src/s/gnu-linux.h | 14 +++++--------- src/s/netbsd.h | 8 +++----- src/s/openbsd.h | 9 +-------- 9 files changed, 38 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index c9b61269fe..c35a18aee3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-05-04 Glenn Morris + * 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 diff --git a/configure.in b/configure.in index 48dbff5254..c7c880d939 100644 --- a/configure.in +++ b/configure.in @@ -917,10 +917,6 @@ configure___ use_mmap_for_buffers=no #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 @@ fi ## 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 @@ ${x_library}/X11/%T/%N%S" 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(gamedir) 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 @@ AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE}, 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 diff --git a/nt/ChangeLog b/nt/ChangeLog index 664d2be8b8..0e5d0a10cc 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2010-05-04 Glenn Morris + + * config.nt (LD_SWITCH_X_SITE_AUX): Remove. + 2010-04-20 Lewis Perin (tiny change) * emacs.manifest: Add trustInfo section to Windows manifest. diff --git a/nt/config.nt b/nt/config.nt index f000d53e41..9e223573ea 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -325,10 +325,6 @@ along with GNU Emacs. If not, see . */ 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 diff --git a/src/ChangeLog b/src/ChangeLog index cbd5088e17..4b24f85612 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,15 @@ 2010-05-04 Glenn Morris + * 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. diff --git a/src/Makefile.in b/src/Makefile.in index fd6493aee2..60b6278f4b 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -77,6 +77,11 @@ 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@ +## 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@ diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h index 948f96a1e4..73241f0c21 100644 --- a/src/s/gnu-linux.h +++ b/src/s/gnu-linux.h @@ -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 @@ along with GNU Emacs. If not, see . */ #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 @@ along with GNU Emacs. If not, see . */ #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 diff --git a/src/s/netbsd.h b/src/s/netbsd.h index fd5ccc5fa8..2e48c3580d 100644 --- a/src/s/netbsd.h +++ b/src/s/netbsd.h @@ -43,11 +43,9 @@ along with GNU Emacs. If not, see . */ #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 diff --git a/src/s/openbsd.h b/src/s/openbsd.h index 461af7f396..a6eb837570 100644 --- a/src/s/openbsd.h +++ b/src/s/openbsd.h @@ -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 says this is necessary. Otherwise Emacs dumps core when run -nw. */ #undef LIBS_TERMCAP @@ -21,7 +14,7 @@ /* Han Boetes 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) */ -- 2.20.1