X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/aea07e2c6e54733804d0be54e97d44fcb3df63dd..b084415e278d54c6f9ee8406b1af8adc2364576c:/configure.ac
diff --git a/configure.ac b/configure.ac
index bd8278d3b7..8e74f799ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ dnl autoconf
dnl in the directory containing this script.
dnl If you changed any AC_DEFINES, also run autoheader.
dnl
-dnl Copyright (C) 1994-1996, 1999-2013 Free Software Foundation, Inc.
+dnl Copyright (C) 1994-1996, 1999-2014 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Emacs.
dnl
@@ -22,7 +22,23 @@ dnl You should have received a copy of the GNU General Public License
dnl along with GNU Emacs. If not, see .
AC_PREREQ(2.65)
-AC_INIT(emacs, 24.3.50)
+AC_INIT(emacs, 24.3.92)
+
+dnl We get MINGW64 with MSYS2
+if test "x$MSYSTEM" = "xMINGW32" -o "x$MSYSTEM" = "xMINGW64"
+then
+ . $srcdir/nt/mingw-cfg.site
+
+ case $srcdir in
+ /* | ?:*)
+ # srcdir is an absolute path. In this case, force the format
+ # "/c/foo/bar", to simplify later conversions to native Windows
+ # format ("c:/foo/bar")
+ srcdir=`cd "${srcdir}" && pwd -W`
+ srcdir="/${srcdir:0:1}${srcdir:2}"
+ ;;
+ esac
+fi
dnl Set emacs_config_options to the options of 'configure', quoted for the shell,
dnl and then quoted again for a C string. Separate options with spaces.
@@ -63,9 +79,25 @@ for opt in ${1+"$@"} CFLAGS CPPFLAGS LDFLAGS; do
optsep=' '
done
-AC_CONFIG_HEADER(src/config.h:src/config.in)
+AC_CONFIG_HEADERS(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
AC_CONFIG_AUX_DIR(build-aux)
+
+xcsdkdir=
+AC_CHECK_PROGS(XCRUN, [xcrun])
+if test -n "$XCRUN"; then
+ if test -z "$MAKE"; then
+ dnl Call the variable MAKE_PROG, not MAKE, to avoid confusion with
+ dnl SET_MAKE and with the usual MAKE variable that 'make' itself uses.
+ AC_CHECK_PROG([MAKE_PROG], [make], [yes])
+ if test -z "$MAKE_PROG"; then
+ MAKE="$XCRUN MAKE"
+ export MAKE
+ xcsdkdir=`$XCRUN --show-sdk-path 2>/dev/null`
+ fi
+ fi
+fi
+
dnl Fairly arbitrary, older versions might work too.
AM_INIT_AUTOMAKE(1.11)
@@ -78,8 +110,7 @@ dnl hence the single quotes. This is per the GNU coding standards, see
dnl (autoconf) Installation Directory Variables
dnl See also epaths.h below.
lispdir='${datadir}/emacs/${version}/lisp'
-leimdir='${datadir}/emacs/${version}/leim'
-standardlisppath='${lispdir}:${leimdir}'
+standardlisppath='${lispdir}'
locallisppath='${datadir}/emacs/${version}/site-lisp:'\
'${datadir}/emacs/site-lisp'
lisppath='${locallisppath}:${standardlisppath}'
@@ -93,8 +124,8 @@ AC_ARG_WITH(all,
[AS_HELP_STRING([--without-all],
[omit almost all features and build
small executable with minimal dependencies])],
- with_features=$withval,
- with_features=yes)
+ [with_features=$withval],
+ [with_features=yes])
dnl OPTION_DEFAULT_OFF(NAME, HELP-STRING)
dnl Create a new --with option that defaults to being disabled.
@@ -211,6 +242,7 @@ fi
dnl _ON results in a '--without' option in the --help output, so
dnl the help text should refer to "don't compile", etc.
+with_xpm_set=${with_xpm+set}
OPTION_DEFAULT_ON([xpm],[don't compile with XPM image support])
OPTION_DEFAULT_ON([jpeg],[don't compile with JPEG image support])
OPTION_DEFAULT_ON([tiff],[don't compile with TIFF image support])
@@ -437,14 +469,8 @@ dnl quotation begins
### If you add support for a new configuration, add code to this
### switch statement to recognize your configuration name and select
-### the appropriate operating system file.
-
-### You would hope that you could choose an s/*.h
-### file based on the operating system portion. However, it turns out
-### that each s/*.h file is pretty manufacturer-specific.
-### So we basically have to have a special case for each
-### configuration name.
-###
+### the appropriate opsys.
+
### As far as handling version numbers on operating systems is
### concerned, make sure things will fail in a fixable way. If
### /etc/MACHINES doesn't say anything about version numbers, be
@@ -480,7 +506,7 @@ case "${canonical}" in
;;
## OpenBSD ports
- *-*-openbsd* )
+ *-*-openbsd* | *-*-mirbsd* )
opsys=openbsd
;;
@@ -525,7 +551,7 @@ case "${canonical}" in
rs6000-ibm-aix[56]* )
opsys=aix4-2
;;
- powerpc-ibm-aix[56]* )
+ powerpc-ibm-aix[5-9]* | powerpc-ibm-aix[1-9][0-9]* )
opsys=aix4-2
;;
@@ -550,6 +576,10 @@ case "${canonical}" in
* ) unported=yes ;;
esac
case "${canonical}" in
+ *-sunos5.[1-9][0-9]* | *-solaris2.[1-9][0-9]* )
+ opsys=sol2-10
+ emacs_check_sunpro_c=yes
+ ;;
*-sunos5.6* | *-solaris2.6* )
opsys=sol2-6
RANLIB="ar -ts"
@@ -558,10 +588,6 @@ case "${canonical}" in
opsys=sol2-6
emacs_check_sunpro_c=yes
;;
- *-sunos5* | *-solaris* )
- opsys=sol2-10
- emacs_check_sunpro_c=yes
- ;;
esac
## Watch out for a compiler that we know will not work.
case "${canonical}" in
@@ -592,6 +618,18 @@ case "${canonical}" in
esac
;;
+ # MinGW64
+ x86_64-*-* )
+ case "${canonical}" in
+ *-mingw32 )
+ opsys=mingw32
+ # MinGW overrides and adds some system headers in nt/inc.
+ GCC_TEST_OPTIONS="-I $srcdir/nt/inc"
+ ;;
+ ## Otherwise, we'll fall through to the generic opsys code at the bottom.
+ esac
+ ;;
+
* )
unported=yes
;;
@@ -616,7 +654,8 @@ fi
dnl quotation ends
if test $unported = yes; then
- AC_MSG_ERROR([Emacs hasn't been ported to `${canonical}' systems.
+ AC_MSG_ERROR([Emacs does not support `${canonical}' systems.
+If you think it should, please send a report to bug-gnu-emacs@gnu.org.
Check `etc/MACHINES' for recognized configuration names.])
fi
@@ -624,7 +663,12 @@ fi
#### Choose a compiler.
dnl Sets GCC=yes if using gcc.
-AC_PROG_CC
+AC_PROG_CC([gcc cc cl clang "$XCRUN gcc" "$XCRUN clang"])
+if test -n "$XCRUN"; then
+ AC_CHECK_PROGS(AR, [ar "$XCRUN ar"])
+ test -n "$AR" && export AR
+fi
+
AM_PROG_CC_C_O
if test x$GCC = xyes; then
@@ -638,6 +682,8 @@ dnl alternative to lib/gnulib.mk, so as to avoid generating header files
dnl that clash with MinGW.
AM_CONDITIONAL([BUILDING_FOR_WINDOWSNT], [test "x$opsys" = "xmingw32"])
+# Avoid gnulib's tests for -lcrypto, so that there's no static dependency on it.
+AC_DEFUN([gl_CRYPTO_CHECK])
# Avoid gnulib's tests for HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW,
# as we don't use them.
AC_DEFUN([gl_FCNTL_O_FLAGS])
@@ -711,7 +757,10 @@ AC_ARG_ENABLE([gcc-warnings],
AC_ARG_ENABLE(link-time-optimization,
[AS_HELP_STRING([--enable-link-time-optimization],
[build emacs with link-time optimization.
- This is supported only for GCC since 4.5.0.])],
+ This requires GCC 4.5.0 or later.
+ It also makes Emacs harder to debug, and when we tried it
+ with GCC 4.9.0 x86-64 it made Emacs slower, so it's not
+ recommended for typical use.])],
if test "${enableval}" != "no"; then
AC_MSG_CHECKING([whether link-time optimization is supported])
ac_lto_supported=no
@@ -731,33 +780,21 @@ if test "${enableval}" != "no"; then
AC_MSG_RESULT([$ac_lto_supported])
if test "$ac_lto_supported" = "yes"; then
CFLAGS="$CFLAGS $LTO"
+ dnl The following is needed for GCC 4.9.0. The GCC 4.9.0 release notes
+ dnl suggest that instead of -ffat-lto-objects we should use gcc-ar and
+ dnl gcc-ranlib in place of ar and ranlib, but gcc-ar makes /usr/bin/ar
+ dnl dump core on Fedora 20, so play it safe for now.
+ gl_COMPILER_OPTION_IF([-ffat-lto-objects],
+ [CFLAGS="$CFLAGS -ffat-lto-objects"])
fi
fi)
-# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found])
-# ------------------------------------------------
-# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND.
-# Otherwise, run RUN-IF-NOT-FOUND.
-AC_DEFUN([gl_GCC_VERSION_IFELSE],
- [AC_PREPROC_IFELSE(
- [AC_LANG_PROGRAM(
- [[
-#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__)
-/* ok */
-#else
-# error "your version of gcc is older than $1.$2"
-#endif
- ]]),
- ], [$3], [$4])
- ]
-)
-
# clang is unduly picky about some things.
AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#ifndef __clang__
- #error "not clang"
+ error "not clang";
#endif
]])],
[emacs_cv_clang=yes],
@@ -870,6 +907,12 @@ else
AC_SUBST([GNULIB_WARN_CFLAGS])
fi
+edit_cflags="
+ s,///*,/,g
+ s/^/ /
+ s/ -I/ $isystem/g
+ s/^ //
+"
dnl Some other nice autoconf tests.
@@ -893,11 +936,21 @@ rm -f conf$$ conf$$.file
LN_S_FILEONLY='cp -p'
+dnl On MinGW, ensure we will call the MSYS /bin/ln.exe, not some
+dnl random program in the current directory.
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
- LN_S_FILEONLY='ln -s'
+ if test "$opsys" = "mingw32"; then
+ LN_S_FILEONLY='/bin/ln -s'
+ else
+ LN_S_FILEONLY='ln -s'
+ fi
elif ln conf$$.file conf$$ 2>/dev/null; then
- LN_S_FILEONLY=ln
+ if test "$opsys" = "mingw32"; then
+ LN_S_FILEONLY=/bin/ln
+ else
+ LN_S_FILEONLY=ln
+ fi
fi
fi
@@ -919,9 +972,18 @@ dnl executables at "make install" time.
dnl See http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00475.html
dnl for more details.
if test "$opsys" = "mingw32"; then
- LN_S="ln"
+ LN_S="/bin/ln"
fi
+dnl On some Debian versions, "install-info" prints irritating messages
+dnl "This is not dpkg install-info anymore, but GNU install-info"
+dnl if called via an absolute file name.
+dnl Use the entirely-identical-but-quieter ginstall-info instead if present.
+dnl Sadly some people may have an old ginstall-info installed on
+dnl non-Debian systems, so we can't use this.
+dnl AC_PATH_PROGS(INSTALL_INFO, [ginstall-info install-info], :,
+dnl $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin)
+
AC_PATH_PROG(INSTALL_INFO, install-info, :,
$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin)
dnl Don't use GZIP, which is used by gzip for additional parameters.
@@ -939,6 +1001,24 @@ if test $opsys = gnu-linux; then
[if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then AC_MSG_RESULT(yes)
else AC_MSG_RESULT(no); PAXCTL=""; fi])
fi
+
+ if test "${SETFATTR+set}" != set; then
+ AC_CACHE_CHECK([for setfattr],
+ [emacs_cv_prog_setfattr],
+ [touch conftest.tmp
+ if (setfattr -n user.pax.flags conftest.tmp) >/dev/null 2>&1; then
+ emacs_cv_prog_setfattr=yes
+ else
+ emacs_cv_prog_setfattr=no
+ fi])
+ if test "$emacs_cv_prog_setfattr" = yes; then
+ SETFATTR=setfattr
+ else
+ SETFATTR=
+ fi
+ rm -f conftest.tmp
+ AC_SUBST([SETFATTR])
+ fi
fi
## Need makeinfo >= 4.7 (?) to build the manuals.
@@ -958,11 +1038,11 @@ fi
## pre-built, and not deleted by the normal clean rules. makeinfo is
## therefore in the category of "special tools" not normally required, which
## configure does not have to check for (eg autoconf itself).
-## In a Bazaar checkout on the other hand, the manuals are not included.
-## So makeinfo is a requirement to build from Bazaar, and configure
+## In a repository checkout on the other hand, the manuals are not included.
+## So makeinfo is a requirement to build from the repository, and configure
## should test for it as it does for any other build requirement.
## We use the presence of $srcdir/info/emacs to distinguish a release,
-## with pre-built manuals, from a Bazaar checkout.
+## with pre-built manuals, from a repository checkout.
HAVE_MAKEINFO=yes
if test "$MAKEINFO" = "no"; then
@@ -1032,6 +1112,21 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
LDFLAGS="$late_LDFLAGS"
+AC_CACHE_CHECK([whether addresses are sanitized],
+ [emacs_cv_sanitize_address],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#ifndef __has_feature
+ #define __has_feature(f) 0
+ #endif
+ #if defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer)
+ #else
+ error "Addresses are not sanitized.";
+ #endif
+ ]])],
+ [emacs_cv_sanitize_address=yes],
+ [emacs_cv_sanitize_address=no])])
+
dnl The function dump-emacs will not be defined and temacs will do
dnl (load "loadup") automatically unless told otherwise.
test "x$CANNOT_DUMP" = "x" && CANNOT_DUMP=no
@@ -1039,8 +1134,11 @@ case "$opsys" in
your-opsys-here) CANNOT_DUMP=yes ;;
esac
-test "$CANNOT_DUMP" = "yes" && \
+if test "$CANNOT_DUMP" = "yes"; then
AC_DEFINE(CANNOT_DUMP, 1, [Define if Emacs cannot be dumped on your system.])
+elif test "$emacs_cv_sanitize_address" = yes; then
+ AC_MSG_WARN([[Addresses are sanitized; suggest CANNOT_DUMP=yes]])
+fi
AC_SUBST(CANNOT_DUMP)
@@ -1160,7 +1258,12 @@ C_SWITCH_SYSTEM=
## additional optimization. --nils@exp-math.uni-essen.de
test "$opsys" = "aix4.2" && test "x$GCC" != "xyes" && \
C_SWITCH_SYSTEM="-ma -qmaxmem=4000"
-test "$opsys" = "mingw32" && C_SWITCH_SYSTEM="-mtune=pentium4"
+if test "$opsys" = "mingw32"; then
+ case "$canonical" in
+ x86_64-*-mingw32) C_SWITCH_SYSTEM="-mtune=generic" ;;
+ *) C_SWITCH_SYSTEM="-mtune=pentium4" ;;
+ esac
+fi
## gnu-linux might need -D_BSD_SOURCE on old libc5 systems.
## It is redundant in glibc2, since we define _GNU_SOURCE.
AC_SUBST(C_SWITCH_SYSTEM)
@@ -1262,12 +1365,6 @@ AC_DEFUN([PKG_CHECK_MODULES], [
if "$PKG_CONFIG" --exists "$2" 2>&AS_MESSAGE_LOG_FD &&
$1_CFLAGS=`"$PKG_CONFIG" --cflags "$2" 2>&AS_MESSAGE_LOG_FD` &&
$1_LIBS=`"$PKG_CONFIG" --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then
- edit_cflags="
- s,///*,/,g
- s/^/ /
- s/ -I/ $isystem/g
- s/^ //
- "
$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
$1_LIBS=`AS_ECHO(["$$1_LIBS"]) | sed -e 's,///*,/,g'`
AC_MSG_RESULT([yes CFLAGS='$$1_CFLAGS' LIBS='$$1_LIBS'])
@@ -1616,7 +1713,7 @@ fail;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
; /* OK */
#else
-#error "OSX 10.4 or newer required"
+ error "OSX 10.4 or newer required";
#endif
#endif
])],
@@ -1634,7 +1731,7 @@ fail;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
; /* OK */
#else
-#error "OSX 10.5 not found"
+ error "OSX 10.5 not found";
#endif
#endif
])],
@@ -1681,7 +1778,6 @@ if test "${HAVE_NS}" = yes; then
infodir="\${ns_appresdir}/info"
mandir="\${ns_appresdir}/man"
lispdir="\${ns_appresdir}/lisp"
- leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA=
fi
@@ -1753,7 +1849,6 @@ if test "${HAVE_W32}" = "yes"; then
x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
*) EMACS_MANIFEST="emacs-x86.manifest" ;;
esac
- UPDATE_MANIFEST=update-game-score.exe.manifest
if test "${opsys}" = "cygwin"; then
W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
@@ -1761,6 +1856,7 @@ if test "${HAVE_W32}" = "yes"; then
# the rc file), not a linker script.
W32_RES_LINK="-Wl,emacs.res"
else
+ UPDATE_MANIFEST=update-game-score.exe.manifest
W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32 -lusp10"
@@ -1857,7 +1953,7 @@ if test "$window_system" = none && test "X$with_x" != "Xno"; then
test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then
AC_MSG_ERROR([You seem to be running X, but no X development libraries
were found. You should install the relevant development files for X
-and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make
+and for the toolkit you want, such as Gtk+ or Motif. Also make
sure you have development files for image handling, i.e.
tiff, gif, jpeg, png and xpm.
If you are sure you want Emacs compiled without X window support, pass
@@ -1866,9 +1962,6 @@ to configure.])
fi
fi
-### We always support menus.
-HAVE_MENUS=yes
-
# Does the opsystem file prohibit the use of the GNU malloc?
# Assume not, until told otherwise.
GNU_MALLOC=yes
@@ -1876,20 +1969,21 @@ GNU_MALLOC=yes
AC_CACHE_CHECK(
[whether malloc is Doug Lea style],
[emacs_cv_var_doug_lea_malloc],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include
- static void hook (void) {}]],
- [[malloc_set_state (malloc_get_state ());
- __after_morecore_hook = hook;
- __malloc_initialize_hook = hook;]])],
- [emacs_cv_var_doug_lea_malloc=yes],
- [emacs_cv_var_doug_lea_malloc=no])])
+ [emacs_cv_var_doug_lea_malloc=no
+ dnl Hooks do not work with address sanitization.
+ if test "$emacs_cv_sanitize_address" != yes; then
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include
+ static void hook (void) {}]],
+ [[malloc_set_state (malloc_get_state ());
+ __after_morecore_hook = hook;
+ __malloc_initialize_hook = hook;]])],
+ [emacs_cv_var_doug_lea_malloc=yes])])
+ fi
doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
-
-dnl See comments in aix4-2.h about maybe using system malloc there.
-system_malloc=no
+system_malloc=$emacs_cv_sanitize_address
case "$opsys" in
## darwin ld insists on the use of malloc routines in the System framework.
darwin|sol2-10) system_malloc=yes ;;
@@ -1990,6 +2084,18 @@ if test "$HAVE_PTHREAD" = yes; then
LIBS="$LIB_PTHREAD $LIBS" ;;
esac
AC_DEFINE(HAVE_PTHREAD, 1, [Define to 1 if you have pthread (-lpthread).])
+
+ # Some systems optimize for single-threaded programs by default, and
+ # need special flags to disable these optimizations. For example, the
+ # definition of 'errno' in .
+ case $opsys in
+ sol*)
+ AC_DEFINE([_REENTRANT], 1,
+ [Define to 1 if your system requires this in multithreaded code.]);;
+ aix4-2)
+ AC_DEFINE([_THREAD_SAFE], 1,
+ [Define to 1 if your system requires this in multithreaded code.]);;
+ esac
fi
AC_SUBST([LIB_PTHREAD])
@@ -2138,19 +2244,21 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${opsys}" =
if test $HAVE_RSVG = yes; then
AC_DEFINE(HAVE_RSVG, 1, [Define to 1 if using librsvg.])
CFLAGS="$CFLAGS $RSVG_CFLAGS"
+ # Windows loads librsvg dynamically
+ if test "${opsys}" = "mingw32"; then
+ RSVG_LIBS=
+ fi
LIBS="$RSVG_LIBS $LIBS"
fi
fi
fi
HAVE_IMAGEMAGICK=no
-if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes"; then
+if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${HAVE_W32}" = "yes"; then
if test "${with_imagemagick}" != "no"; then
- ## 6.2.8 is the earliest version known to work, but earlier versions
- ## might work - let us know if you find one.
- ## 6.0.7 does not work. See bug#7955.
+ ## 6.3.5 is the earliest version known to work; see Bug#17339.
## 6.8.2 makes Emacs crash; see Bug#13867.
- IMAGEMAGICK_MODULE="Wand >= 6.2.8 Wand != 6.8.2"
+ IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
PKG_CHECK_MODULES(IMAGEMAGICK, $IMAGEMAGICK_MODULE, HAVE_IMAGEMAGICK=yes, :)
AC_SUBST(IMAGEMAGICK_CFLAGS)
AC_SUBST(IMAGEMAGICK_LIBS)
@@ -2187,8 +2295,10 @@ if test "${opsys}" != "mingw32"; then
gtk_term_header=gtkutil.h
USE_GTK_TOOLKIT="GTK3"
if test "x$ac_enable_gtk_deprecation_warnings" = x; then
- GTK_CFLAGS="$GTK_CFLAGS -DGDK_DISABLE_DEPRECATION_WARNINGS"
- GTK_CFLAGS="$GTK_CFLAGS -DGLIB_DISABLE_DEPRECATION_WARNINGS"
+ AC_DEFINE([GDK_DISABLE_DEPRECATION_WARNINGS], [1],
+ [Define to 1 to disable GTK+/GDK deprecation warnings.])
+ AC_DEFINE([GLIB_DISABLE_DEPRECATION_WARNINGS], [1],
+ [Define to 1 to disable Glib deprecation warnings.])
fi
else
check_gtk2=yes
@@ -2214,7 +2324,6 @@ fi
if test x"$pkg_check_gtk" = xyes; then
- AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
@@ -2344,9 +2453,31 @@ HAVE_GSETTINGS=no
if test "${HAVE_X11}" = "yes" && test "${with_gsettings}" = "yes"; then
PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.26, HAVE_GSETTINGS=yes, HAVE_GSETTINGS=no)
if test "$HAVE_GSETTINGS" = "yes"; then
- AC_DEFINE(HAVE_GSETTINGS, 1, [Define to 1 if using GSettings.])
- SETTINGS_CFLAGS="$GSETTINGS_CFLAGS"
- SETTINGS_LIBS="$GSETTINGS_LIBS"
+ old_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $GSETTINGS_CFLAGS"
+ old_LIBS=$LIBS
+ LIBS="$LIBS $GSETTINGS_LIBS"
+ AC_MSG_CHECKING([whether GSettings is in gio])
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[/* Check that gsettings really is present. */
+ #include
+ #include
+ ]],
+ [[
+ GSettings *settings;
+ GVariant *val = g_settings_get_value (settings, "");
+ ]])],
+ [], HAVE_GSETTINGS=no)
+ AC_MSG_RESULT([$HAVE_GSETTINGS])
+
+ if test "$HAVE_GSETTINGS" = "yes"; then
+ AC_DEFINE(HAVE_GSETTINGS, 1, [Define to 1 if using GSettings.])
+ SETTINGS_CFLAGS="$GSETTINGS_CFLAGS"
+ SETTINGS_LIBS="$GSETTINGS_LIBS"
+ fi
+ CFLAGS=$old_CFLAGS
+ LIBS=$old_LIBS
fi
fi
@@ -2409,9 +2540,6 @@ if test "${with_gnutls}" = "yes" ; then
# Windows loads GnuTLS dynamically
if test "${opsys}" = "mingw32"; then
LIBGNUTLS_LIBS=
- else
- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
- LIBS="$LIBGNUTLS_LIBS $LIBS"
fi
fi
@@ -2878,6 +3006,9 @@ no_return_alloc_pixels
fi
if test "${HAVE_X11}" = "yes"; then
+ dnl Avoid Xpm on AIX unless requested, as it crashes; see Bug#17598.
+ test "$opsys$with_xpm_set" = aix4-2 && with_xpm=no
+
if test "${with_xpm}" != "no"; then
AC_CHECK_HEADER(X11/xpm.h,
[AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11)])
@@ -2901,6 +3032,9 @@ no_return_alloc_pixels
if test "${HAVE_XPM}" = "yes"; then
AC_DEFINE(HAVE_XPM, 1, [Define to 1 if you have the Xpm library (-lXpm).])
LIBXPM=-lXpm
+ elif test "$opsys,$LUCID_LIBW" = aix4-2,-lXaw; then
+ dnl AIX -lXaw needs -lXpm linked too; see Bug#17598 Message#152.
+ LIBXPM=-lXpm
fi
fi
@@ -3002,8 +3136,15 @@ elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
fi
if test "${HAVE_PNG}" = "yes"; then
- AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library (-lpng).])
- LIBPNG="-lpng -lz -lm"
+ AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library.])
+
+ dnl Some systems, eg NetBSD 6, only provide eg "libpng16", not "libpng".
+ lpng=`libpng-config --libs 2> /dev/null`
+ case $lpng in
+ -l*) : ;;
+ *) lpng="-lpng" ;;
+ esac
+ LIBPNG="$lpng -lz -lm"
AC_CHECK_DECL(png_longjmp,
[],
@@ -3239,14 +3380,14 @@ if test "${with_xml2}" != "no"; then
# Built-in libxml2 on OS X 10.8 lacks libxml-2.0.pc.
if test "${HAVE_LIBXML2}" != "yes" -a "$opsys" = "darwin"; then
SAVE_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
+ CPPFLAGS="$CPPFLAGS -I$xcsdkdir/usr/include/libxml2"
AC_CHECK_HEADER(libxml/HTMLparser.h,
[AC_CHECK_DECL(HTML_PARSE_RECOVER, HAVE_LIBXML2=yes, ,
[#include ])])
CPPFLAGS="$SAVE_CPPFLAGS"
if test "${HAVE_LIBXML2}" = "yes"; then
+ LIBXML2_CFLAGS="-I'$xcsdkdir/usr/include/libxml2'"
LIBXML2_LIBS="-lxml2"
- LIBXML2_CFLAGS="-I/usr/include/libxml2"
fi
fi
if test "${HAVE_LIBXML2}" = "yes"; then
@@ -3375,7 +3516,6 @@ getrlimit setrlimit shutdown getaddrinfo \
strsignal setitimer \
sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \
gai_strerror getline getdelim sync \
-difftime \
getpwent endpwent getgrent endgrent \
touchlock \
cfmakeraw cfsetspeed copysign __executable_start log2)
@@ -3747,6 +3887,10 @@ AC_CHECK_FUNCS(snprintf)
dnl Check this late. It depends on what other libraries (lrsvg, Gtk+ etc)
dnl Emacs uses.
XGSELOBJ=
+OLDCFLAGS="$CFLAGS"
+OLDLIBS="$LIBS"
+CFLAGS="$CFLAGS $GFILENOTIFY_CFLAGS"
+LIBS="$LIBS $GFILENOTIFY_LIBS"
AC_MSG_CHECKING([whether GLib is linked in])
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[#include
@@ -3761,6 +3905,8 @@ if test "${links_glib}" = "yes"; then
XGSELOBJ=xgselect.o
fi
fi
+CFLAGS="$OLDCFLAGS"
+LIBS="$OLDLIBS"
AC_SUBST(XGSELOBJ)
dnl Adapted from Haible's version.
@@ -3835,12 +3981,22 @@ else
AC_DEFINE(NULL_DEVICE, ["/dev/null"])
fi
-AH_TEMPLATE(SEPCHAR, [Character that separates PATH elements.])
if test "${opsys}" = "mingw32"; then
- AC_DEFINE(SEPCHAR, [';'])
+ SEPCHAR=';'
else
- AC_DEFINE(SEPCHAR, [':'])
-fi
+ SEPCHAR=':'
+fi
+AC_DEFINE_UNQUOTED(SEPCHAR, ['$SEPCHAR'], [Character that separates PATH elements.])
+dnl This is for MinGW, and is used in test/automated/Makefile.in.
+dnl The MSYS Bash has heuristics for replacing ':' with ';' when it
+dnl decides that a command-line argument to be passed to a MinGW program
+dnl is a PATH-style list of directories. But that heuristics plays it
+dnl safe, and only does the replacement when it is _absolutely_ sure it
+dnl sees a colon-separated list of file names; e.g. ":." is left alone,
+dnl which breaks in-tree builds. So we do this manually instead.
+dnl Note that we cannot rely on PATH_SEPARATOR, as that one will always
+dnl be computed as ':' in MSYS Bash.
+AC_SUBST(SEPCHAR)
dnl Everybody supports this, except MS-DOS.
AC_DEFINE(subprocesses, 1, [Define to enable asynchronous subprocesses.])
@@ -4044,7 +4200,7 @@ case $opsys in
cygwin )
AC_DEFINE(PTY_ITERATION, [int i; for (i = 0; i < 1; i++)])
dnl multi-line AC_DEFINEs are hard. :(
- AC_DEFINE(PTY_OPEN, [ do { int dummy; sigset_t blocked, procmask; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, &procmask); if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) fd = -1; pthread_sigmask (SIG_SETMASK, &procmask, 0); if (fd >= 0) emacs_close (dummy); } while (0)])
+ AC_DEFINE(PTY_OPEN, [ do { int dummy; sigset_t blocked, procmask; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, &procmask); if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) fd = -1; pthread_sigmask (SIG_SETMASK, &procmask, 0); if (fd >= 0) emacs_close (dummy); } while (false)])
AC_DEFINE(PTY_NAME_SPRINTF, [])
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
;;
@@ -4057,7 +4213,7 @@ case $opsys in
dnl Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
dnl But we don't have to block SIGCHLD because it is blocked in the
dnl implementation of grantpt.
- AC_DEFINE(PTY_OPEN, [ do { int slave; if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) fd = -1; else emacs_close (slave); } while (0)])
+ AC_DEFINE(PTY_OPEN, [ do { int slave; if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1) fd = -1; else emacs_close (slave); } while (false)])
AC_DEFINE(PTY_NAME_SPRINTF, [])
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
;;
@@ -4076,7 +4232,7 @@ case $opsys in
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptyname = 0; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); if (grantpt (fd) != -1 && unlockpt (fd) != -1) ptyname = ptsname(fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (!ptyname) { emacs_close (fd); return -1; } snprintf (pty_name, PTY_NAME_SIZE, "%s", ptyname); }])
dnl if HAVE_POSIX_OPENPT
if test "x$ac_cv_func_posix_openpt" = xyes; then
- AC_DEFINE(PTY_OPEN, [do { fd = posix_openpt (O_RDWR | O_CLOEXEC | O_NOCTTY); if (fd < 0 && errno == EINVAL) fd = posix_openpt (O_RDWR | O_NOCTTY); } while (0)])
+ AC_DEFINE(PTY_OPEN, [do { fd = posix_openpt (O_RDWR | O_CLOEXEC | O_NOCTTY); if (fd < 0 && errno == EINVAL) fd = posix_openpt (O_RDWR | O_NOCTTY); } while (false)])
AC_DEFINE(PTY_NAME_SPRINTF, [])
dnl if HAVE_GETPT
elif test "x$ac_cv_func_getpt" = xyes; then
@@ -4209,7 +4365,7 @@ case $opsys in
# error "not ia64"
#endif
]], [[]])], AC_DEFINE(GC_MARK_SECONDARY_STACK(),
- [do { extern void *__libc_ia64_register_backing_store_base; __builtin_ia64_flushrs (); mark_memory (__libc_ia64_register_backing_store_base, __builtin_ia64_bsp ());} while (0)],
+ [do { extern void *__libc_ia64_register_backing_store_base; __builtin_ia64_flushrs (); mark_memory (__libc_ia64_register_backing_store_base, __builtin_ia64_bsp ());} while (false)],
[Mark a secondary stack, like the register stack on the ia64.]), [])
;;
@@ -4252,7 +4408,7 @@ if test x$GCC = xyes; then
else
case $opsys in
dnl irix: Tested on Irix 6.5. SCM worked on earlier versions.
- dragonfly | freebsd | netbsd | openbsd | irix6-5 | sol2* )
+ aix* | dragonfly | freebsd | netbsd | openbsd | irix6-5 | sol2* )
AC_DEFINE(GC_SETJMP_WORKS, 1)
;;
esac
@@ -4467,7 +4623,7 @@ fi
version=$PACKAGE_VERSION
-copyright="Copyright (C) 2013 Free Software Foundation, Inc."
+copyright="Copyright (C) 2014 Free Software Foundation, Inc."
AC_DEFINE_UNQUOTED(COPYRIGHT, ["$copyright"],
[Short copyright string for this version of Emacs.])
AC_SUBST(copyright)
@@ -4488,7 +4644,6 @@ AC_SUBST(libexecdir)
AC_SUBST(mandir)
AC_SUBST(infodir)
AC_SUBST(lispdir)
-AC_SUBST(leimdir)
AC_SUBST(standardlisppath)
AC_SUBST(locallisppath)
AC_SUBST(lisppath)
@@ -4596,61 +4751,29 @@ AC_SUBST(TOOLKIT_LIBW)
if test "${opsys}" != "mingw32"; then
if test "$USE_X_TOOLKIT" = "none"; then
LIBXT_OTHER="\$(LIBXSM)"
- OLDXMENU_TARGET="really-oldXMenu"
else
LIBXT_OTHER="\$(LIBXMU) -lXt \$(LIBXTR6) -lXext"
- OLDXMENU_TARGET="really-lwlib"
fi
fi
AC_SUBST(LIBXT_OTHER)
-## The X Menu stuff is present in the X10 distribution, but missing
-## from X11. If we have X10, just use the installed library;
-## otherwise, use our own copy.
if test "${HAVE_X11}" = "yes" ; then
AC_DEFINE(HAVE_X11, 1,
- [Define to 1 if you want to use version 11 of X windows.
- Otherwise, Emacs expects to use version 10.])
-
- if test "$USE_X_TOOLKIT" = "none"; then
- OLDXMENU="\${oldXMenudir}/libXMenu11.a"
- else
- OLDXMENU="\${lwlibdir}/liblw.a"
- fi
- LIBXMENU="\$(OLDXMENU)"
+ [Define to 1 if you want to use version 11 of X windows.])
LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)"
- OLDXMENU_DEPS="\${OLDXMENU} ../src/\${OLDXMENU}"
else
- ## For a syntactically valid Makefile; not actually used for anything.
- ## See comments in src/Makefile.in.
- OLDXMENU=nothing
- ## FIXME This case (!HAVE_X11 && HAVE_X_WINDOWS) is no longer possible(?).
- if test "${HAVE_X_WINDOWS}" = "yes"; then
- LIBXMENU="-lXMenu"
- else
- LIBXMENU=
- fi
LIBX_OTHER=
- OLDXMENU_DEPS=
fi
+AC_SUBST(LIBX_OTHER)
-if test "$HAVE_GTK" = "yes" || test "$HAVE_MENUS" != "yes"; then
- OLDXMENU_TARGET=
- OLDXMENU=nothing
+if test "$HAVE_GTK" = yes || test "$HAVE_X11" != yes; then
LIBXMENU=
- OLDXMENU_DEPS=
+elif test "$USE_X_TOOLKIT" = none; then
+ LIBXMENU='$(oldXMenudir)/libXMenu11.a'
+else
+ LIBXMENU='$(lwlibdir)/liblw.a'
fi
-
-AC_SUBST(OLDXMENU_TARGET)
-AC_SUBST(OLDXMENU)
AC_SUBST(LIBXMENU)
-AC_SUBST(LIBX_OTHER)
-AC_SUBST(OLDXMENU_DEPS)
-
-if test "${HAVE_MENUS}" = "yes" ; then
- AC_DEFINE(HAVE_MENUS, 1,
- [Define to 1 if you have mouse menus. (This is supported in all configurations, but the option to specify it remains.)])
-fi
if test "${GNU_MALLOC}" = "yes" ; then
AC_DEFINE(GNU_MALLOC, 1,
@@ -4718,8 +4841,6 @@ LIBS="$LIB_PTHREAD $pre_PKG_CONFIG_LIBS"
gl_ASSERT_NO_GNULIB_POSIXCHECK
gl_ASSERT_NO_GNULIB_TESTS
gl_INIT
-gl_STDINT_BITSIZEOF([size_t], [[#include ]])
-AC_CHECK_SIZEOF([size_t])
CFLAGS=$SAVE_CFLAGS
LIBS=$SAVE_LIBS
@@ -4770,7 +4891,7 @@ case "$opsys" in
## pass a different -entry switch to linker. FIXME: It is better
## to make the entry points the same by changing unexw32.c.
case "$canonical" in
- x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,_start -Wl,-Map,./temacs.map" ;;
+ x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
esac
;;
@@ -4819,7 +4940,7 @@ AC_SUBST(WINDOW_SYSTEM_OBJ)
AH_TOP([/* GNU Emacs site configuration template file.
-Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2013
+Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2014
Free Software Foundation, Inc.
This file is part of GNU Emacs.
@@ -4897,7 +5018,7 @@ echo " Does Emacs use -lXpm? ${HAVE_XPM}"
echo " Does Emacs use -ljpeg? ${HAVE_JPEG}"
echo " Does Emacs use -ltiff? ${HAVE_TIFF}"
echo " Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF"
-echo " Does Emacs use -lpng? ${HAVE_PNG}"
+echo " Does Emacs use a png library? ${HAVE_PNG} $LIBPNG"
echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}"
echo " Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}"
@@ -4999,13 +5120,12 @@ if test -f "$srcdir/$opt_makefile.in"; then
fi
-dnl admin/ may or may not be present.
-opt_makefile=admin/unidata/Makefile
-
-if test -f "$srcdir/$opt_makefile.in"; then
- SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
+dnl The admin/ directory used to be excluded from tarfiles.
+if test -d $srcdir/admin; then
+ SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES admin/unidata/Makefile admin/grammars/Makefile"
AC_CONFIG_FILES([admin/unidata/Makefile])
-fi
+ AC_CONFIG_FILES([admin/grammars/Makefile])
+fi dnl -d admin
SUBDIR_MAKEFILES_IN=`echo " ${SUBDIR_MAKEFILES}" | sed -e 's| | $(srcdir)/|g' -e 's|Makefile|Makefile.in|g'`