X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/830506d93af4c75edc487016c1711941e96faa04..a9c921e66b68c4bdc699171d467be09ca327acb2:/configure.ac diff --git a/configure.ac b/configure.ac index 059f04b3ed..086bd7d4bd 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 @@ -24,7 +24,8 @@ dnl along with GNU Emacs. If not, see . AC_PREREQ(2.65) AC_INIT(emacs, 24.3.50) -if test "x$MSYSTEM" = "xMINGW32" +dnl We get MINGW64 with MSYS2 +if test "x$MSYSTEM" = "xMINGW32" -o "x$MSYSTEM" = "xMINGW64" then . $srcdir/nt/mingw-cfg.site @@ -467,14 +468,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 @@ -580,6 +575,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" @@ -588,10 +587,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 @@ -622,6 +617,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 ;; @@ -646,7 +653,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 @@ -976,6 +984,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. @@ -995,11 +1021,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 @@ -1215,7 +1241,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) @@ -1803,11 +1834,6 @@ if test "${HAVE_W32}" = "yes"; then W32_OBJ="w32fns.o w32menu.o w32reg.o w32font.o w32term.o" W32_OBJ="$W32_OBJ w32xfns.o w32select.o w32uniscribe.o" EMACSRES="emacs.res" - case "$canonical" in - 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" @@ -1815,6 +1841,11 @@ if test "${HAVE_W32}" = "yes"; then # the rc file), not a linker script. W32_RES_LINK="-Wl,emacs.res" else + case "$canonical" in + x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;; + *) EMACS_MANIFEST="emacs-x86.manifest" ;; + esac + 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" @@ -1911,7 +1942,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 @@ -2200,7 +2231,7 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${opsys}" = 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. @@ -2401,9 +2432,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 @@ -3432,7 +3485,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) @@ -3804,6 +3856,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 @@ -3818,6 +3874,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. @@ -4534,7 +4592,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) @@ -4802,7 +4860,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 ;; @@ -4851,7 +4909,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.