]> code.delx.au - gnu-emacs/blobdiff - configure.in
* insdel.c: Omit unnecessary forward decls, to simplify future changes.
[gnu-emacs] / configure.in
index c06965ca17d05dd1b42e8dc9c9a610070d347f90..60b4d55be512ad334ae5aad6adfb7e21e815005a 100644 (file)
@@ -144,6 +144,11 @@ this option's value should be `yes', `no', `lucid', `athena', `motif', `gtk' or
          with_x_toolkit=$val
 ])
 
+OPTION_DEFAULT_OFF([wide-int], [prefer wide Emacs integers (typically 62-bit)])
+if test "$with_wide_int" = yes; then
+  AC_DEFINE([WIDE_EMACS_INT], 1, [Use long long for EMACS_INT if available.])
+fi
+
 dnl _ON results in a '--without' option in the --help output, so
 dnl the help text should refer to "don't compile", etc.
 OPTION_DEFAULT_ON([xpm],[don't compile with XPM image support])
@@ -364,17 +369,6 @@ case "${srcdir}" in
   *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
 esac
 
-#### Check if the source directory already has a configured system in it.
-if test `pwd` != `(cd ${srcdir} && pwd)` \
-   && test -f "${srcdir}/src/config.h" ; then
-  AC_MSG_WARN([[The directory tree `${srcdir}' is being used
-   as a build directory right now; it has been configured in its own
-   right.  To configure in another directory as well, you MUST
-   use GNU make.  If you do not have GNU make, then you must
-   now do `make distclean' in ${srcdir},
-   and then run $0 again.]])
-fi
-
 #### Given the configuration name, set machfile and opsysfile to the
 #### names of the m/*.h and s/*.h files we should use.
 
@@ -994,6 +988,21 @@ dnl Do this early because it can frob feature test macros for Unix-98 &c.
 AC_SYS_LARGEFILE
 
 
+## If we're using gcc, and the user hasn't specified a crt-dir, try to
+## determine it automatically by asking gcc.  [If this doesn't work,
+## CRT_DIR will remain empty and system-dependent code will be used
+## below.]
+##
+if test "x${GCC}z$CRT_DIR" = xyesz; then
+   crt_file=`$CC 2>/dev/null --print-file-name=crt1.o`
+   case "$crt_file" in
+     */*)
+       CRT_DIR=`AS_DIRNAME(["$crt_file"])`
+       ;;
+   esac
+fi
+
+
 ## If user specified a crt-dir, use that unconditionally.
 if test "X$CRT_DIR" = "X"; then
 
@@ -1297,9 +1306,6 @@ dnl and void *.
 AC_C_PROTOTYPES
 AC_C_VOLATILE
 AC_C_CONST
-dnl This isn't useful because we can't turn on use of `inline' unless
-dnl the compiler groks `extern inline'.
-dnl AC_C_INLINE
 AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[void * foo;]])],
                    emacs_cv_void_star=yes, emacs_cv_void_star=no)])
@@ -1828,6 +1834,7 @@ fi
 
 
 HAVE_GTK=no
+GTK_OBJ=
 if test "${with_gtk3}" = "yes"; then
   GLIB_REQUIRED=2.28
   GTK_REQUIRED=3.0
@@ -1839,6 +1846,7 @@ if test "${with_gtk3}" = "yes"; then
      AC_MSG_ERROR($GTK_PKG_ERRORS)
   fi
   AC_DEFINE(HAVE_GTK3, 1, [Define to 1 if using GTK 3 or later.])
+  GTK_OBJ=emacsgtkfixed.o
 fi
 
 if test "$pkg_check_gtk" != "yes"; then
@@ -1856,7 +1864,6 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
 fi
 fi
 
-GTK_OBJ=
 if test x"$pkg_check_gtk" = xyes; then
 
   AC_SUBST(GTK_CFLAGS)
@@ -1874,7 +1881,7 @@ if test x"$pkg_check_gtk" = xyes; then
   else
     HAVE_GTK=yes
     AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.])
-    GTK_OBJ=gtkutil.o
+    GTK_OBJ="gtkutil.o $GTK_OBJ"
     USE_X_TOOLKIT=none
     if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then
       :
@@ -3460,16 +3467,6 @@ AH_BOTTOM([
 /* Turned on June 1996 supposing nobody will mind it.  */
 #define AMPERSAND_FULL_NAME
 
-/* If using GNU, then support inline function declarations.  */
-/* Don't try to switch on inline handling as detected by AC_C_INLINE
-   generally, because even if non-gcc compilers accept `inline', they
-   may reject `extern inline'.  */
-#if defined (__GNUC__)
-#define INLINE __inline__
-#else
-#define INLINE
-#endif
-
 /* `subprocesses' should be defined if you want to
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
@@ -3712,19 +3709,34 @@ fi
 test "${exec_prefix}" != NONE &&
   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`]
 
+dnl Obviously there is duplication here wrt $SUBDIR_MAKEFILES.
+dnl You _can_ use that variable in AC_CONFIG_FILES, so long as any directory
+dnl using automake (ie lib/) is explicitly listed and not "hidden" in a variable
+dnl (else you get "no `Makefile.am' found for any configure output").
+dnl This will work, but you get a config.status that is not quite right
+dnl (see http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00028.html).
+dnl That doesn't have any obvious consequences for Emacs, but on the whole
+dnl it seems better to just live with the duplication.
+SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile"
+
 AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
-       doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
-       doc/lispref/Makefile src/Makefile \
-       lwlib/Makefile lisp/Makefile leim/Makefile])
+       doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
+       doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile \
+       leim/Makefile])
 
 dnl test/ is not present in release tarfiles.
-if test -f $srcdir/test/automated/Makefile.in; then
-  OPT_MAKEFILES_IN=test/automated/Makefile.in
+opt_makefile=test/automated/Makefile
+
+if test -f $srcdir/${opt_makefile}.in; then
+  SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
+  dnl Again, it's best not to use a variable.  Though you can add
+  dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
   AC_CONFIG_FILES([test/automated/Makefile])
-else
-  OPT_MAKEFILES_IN=
 fi
-AC_SUBST(OPT_MAKEFILES_IN)
+
+SUBDIR_MAKEFILES_IN=`echo " ${SUBDIR_MAKEFILES}" | sed -e 's| | $(srcdir)/|g' -e 's|Makefile|Makefile.in|g'`
+
+AC_SUBST(SUBDIR_MAKEFILES_IN)
 
 dnl Make the necessary directories, if they don't exist.
 AC_CONFIG_COMMANDS([mkdirs], [