diff options
author | Glenn Morris <rgm@gnu.org> | 2010-11-03 14:55:19 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-11-03 14:55:19 -0400 |
commit | 754996bcf8e980648b63afa3e8bbaedcefdc22bc (patch) | |
tree | 94572715a2386cbf205f387b4792f4270db9bf7f /configure.in | |
parent | 3649d303b0e78aaeb4894389f5be6375837f88b8 (diff) | |
download | emacs-754996bcf8e980648b63afa3e8bbaedcefdc22bc.tar.gz |
Fix for Bug#5655, backported from trunk.
* configure.in (CRT_DIR): New output variable.
(--with-crt-dir): New option. (Bug#5655)
(HAVE_LIB64_DIR): Remove.
* src/Makefile.in (CRT_DIR): New variable, set by configure.
* src/m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655)
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/configure.in b/configure.in index 304f6ab2f91..539b910cd71 100644 --- a/configure.in +++ b/configure.in @@ -169,6 +169,12 @@ if test "X${with_pkg_config_prog}" != X; then fi fi +CRT_DIR= +AC_ARG_WITH([crt-dir],dnl +[AS_HELP_STRING([--with-crt-dir=DIR],[directory containing crtn.o etc. +This option is only used on x86-64 and s390x GNU/Linux architectures.])]) +CRT_DIR="${with_crt_dir}" + AC_ARG_WITH([gnustep-conf],dnl [AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \ @@ -996,18 +1002,28 @@ AC_CONFIG_LIBOBJ_DIR(src) dnl Do this early because it can frob feature test macros for Unix-98 &c. AC_SYS_LARGEFILE - -### The standard library on x86-64 and s390x GNU/Linux distributions can -### be located in either /usr/lib64 or /usr/lib. -### In some rare cases, /usr/lib64 exists but does not contain the -### relevant files (bug#1287). Hence test for crtn.o. +## Note: at present CRT_DIR is only used for amdx86-64 and ibms390x. +## Other machine types hard-code the location in src/[ms]/*.h. case "${canonical}" in x86_64-*-linux-gnu* | s390x-*-linux-gnu* ) - if test -e /usr/lib64/crtn.o; then - AC_DEFINE(HAVE_LIB64_DIR, 1, - [Define to 1 if the directory /usr/lib64 exists.]) -fi + ## On x86-64 and s390x GNU/Linux distributions, the standard library + ## can be in a variety of places. We only try /usr/lib64 and /usr/lib. + ## For anything else (eg /usr/lib32), it is up the user to specify + ## the location (bug#5655). + ## Test for crtn.o, not just the directory, because sometimes the + ## directory exists but does not have the relevant files (bug#1287). + ## If user specified a crt-dir, use that unconditionally. + if test "X$CRT_DIR" = "X"; then + CRT_DIR=/usr/lib + test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64 + fi + + test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \ + AC_MSG_ERROR([crt*.o not found. Use --with-crt-dir to specify the location.]) + ;; esac +test "X$CRT_DIR" = "X" && CRT_DIR=/usr/lib +AC_SUBST(CRT_DIR) dnl This function defintion taken from Gnome 2.0 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) |