LD_SWITCH_SYSTEM
C_SWITCH_MACHINE
C_SWITCH_SYSTEM
+LIBS_SYSTEM
CRT_DIR
LIB_MATH
START_FILES
XMKMF
LD_SWITCH_X_SITE_AUX
LD_SWITCH_X_SITE_AUX_RPATH
+NS_IMPL_GNUSTEP_INC
+NS_IMPL_GNUSTEP_TEMACS_LDFLAGS
+TEMACS_LDFLAGS2
NS_OBJ
NS_SUPPORT
LIB_STANDARD
LIBOTF_LIBS
M17N_FLT_CFLAGS
M17N_FLT_LIBS
-FONT_OBJ
FREETYPE_CFLAGS
FREETYPE_LIBS
LIBXPM
LIBTIFF
LIBGIF
LIBGPM
-GPM_MOUSE_SUPPORT
LIBXSM
ALLOCA
liblockfile
LIBS_MAIL
+BLESSMAIL_TARGET
LIBOBJS
NEED_SETGID
KMEM_GROUP
ns_appbindir
ns_appresdir
ns_appsrc
-GNUSTEP_MAKEFILES
-GNUSTEP_SYSTEM_HEADERS
-GNUSTEP_SYSTEM_LIBRARIES
GNU_OBJC_CFLAGS
-LIB_SRC_EXTRA_INSTALLABLES
OTHER_FILES
+FONT_OBJ
XMENU_OBJ
XOBJ
WIDGET_OBJ
TOOLKIT_LIBW
LIBXT_OTHER
+OLDXMENU_TARGET
OLDXMENU
LIBXMENU
LIBX_OTHER
POST_ALLOC_OBJ
LD_SWITCH_SYSTEM_TEMACS
LD_SWITCH_SYSTEM_EXTRA
+LIB_GCC
+MOUSE_SUPPORT
+TOOLTIP_SUPPORT
+WINDOW_SUPPORT
LTLIBOBJS'
ac_subst_files=''
ac_user_opts='
echo '
#include "'${srcdir}'/src/'${opsysfile}'"
#include "'${srcdir}'/src/'${machfile}'"
-#ifndef LIBS_SYSTEM
-#define LIBS_SYSTEM
-#endif
-configure___ libsrc_libs=LIBS_SYSTEM
configure___ LIBX=-lX11
+LIBS_SYSTEM=
+case "$opsys" in
+ ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2.
+ aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;;
+
+ freebsd) LIBS_SYSTEM="-lutil" ;;
+
+ hpux*) LIBS_SYSTEM="-l:libdld.sl" ;;
+
+ sol2*) LIBS_SYSTEM="-lsocket -lnsl -lkstat" ;;
+
+ ## Motif needs -lgen.
+ unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;;
+esac
+
+
+
### Make sure subsequent tests use flags consistent with the build flags.
if test x"${OVERRIDE_CPPFLAGS}" != x; then
START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o'
;;
netbsd | openbsd )
- if test -f $(CRT_DIR)/crti.o; then
+ if test -f $CRT_DIR/crti.o; then
LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
else
HAVE_NS=no
NS_IMPL_COCOA=no
NS_IMPL_GNUSTEP=no
+NS_IMPL_GNUSTEP_INC=
+NS_IMPL_GNUSTEP_TEMACS_LDFLAGS=
tmp_CPPFLAGS="$CPPFLAGS"
tmp_CFLAGS="$CFLAGS"
CPPFLAGS="$CPPFLAGS -x objective-c"
CFLAGS="$CFLAGS -x objective-c"
+TEMACS_LDFLAGS2="\${LDFLAGS}"
if test "${with_ns}" != no; then
if test "${opsys}" = darwin; then
NS_IMPL_COCOA=yes
GNUSTEP_MAKEFILES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_MAKEFILES)"
GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)"
+ ## Pull in stuff from GNUstep-make.
+ NS_IMPL_GNUSTEP_INC="FOUNDATION_LIB=gnu
+GUI_LIB=gnu
+include $GNUSTEP_MAKEFILES/Additional/base.make
+include $GNUSTEP_MAKEFILES/Additional/gui.make
+shared=no
+"
+ NS_IMPL_GNUSTEP_TEMACS_LDFLAGS="-L${GNUSTEP_SYSTEM_LIBRARIES} -lgnustep-gui -lgnustep-base -lobjc \${CONFIG_SYSTEM_LIBS} -lpthread"
CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}"
LIB_STANDARD=
+ START_FILES=
+ TEMACS_LDFLAGS2=
fi
if test "${ac_cv_header_AppKit_AppKit_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for AppKit/AppKit.h" >&5
fi
fi
+
+
+
NS_OBJ=
NS_SUPPORT=
if test "${HAVE_NS}" = yes; then
REL_ALLOC=no
fi
-LIBS="$libsrc_libs $LIBS"
+LIBS="$LIBS_SYSTEM $LIBS"
{ $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
fi
+## Note: when using cpp in s/aix4.2.h, this definition depended on
+## HAVE_LIBPTHREADS. That was not defined earlier in configure when
+## the system file was sourced. Hence the value of LIBS_SYSTEM
+## added to LIBS in configure would never contain the pthreads part,
+## but the value used in Makefiles might. FIXME?
+##
+## -lpthreads seems to be necessary for Xlib in X11R6, and should
+## be harmless on older versions of X where it happens to exist.
+test "$opsys" = "aix4-2" && \
+ test $ac_cv_lib_pthreads_cma_open = yes && \
+ LIBS_SYSTEM="$LIBS_SYSTEM -lpthreads"
+
case ${host_os} in
aix*)
HAVE_M17N_FLT=no
fi
-FONT_OBJ=xfont.o
-if test "$HAVE_XFT" = "yes"; then
- FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o"
-elif test "$HAVE_FREETYPE" = "yes"; then
- FONT_OBJ="$FONT_OBJ ftfont.o ftxfont.o"
-fi
-
-
### End of font-backend (under X11) section.
### Use -lgpm if available, unless `--with-gpm=no'.
HAVE_GPM=no
LIBGPM=
-GPM_MOUSE_SUPPORT=
+MOUSE_SUPPORT=
if test "${with_gpm}" != "no"; then
if test "${ac_cv_header_gpm_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for gpm.h" >&5
_ACEOF
LIBGPM=-lgpm
- GPM_MOUSE_SUPPORT="\${lispsource}mouse.elc"
+ ## May be reset below.
+ MOUSE_SUPPORT="\$(GPM_MOUSE_SUPPORT)"
fi
fi
-
if test "${ac_cv_header_malloc_malloc_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for malloc/malloc.h" >&5
$as_echo_n "checking for malloc/malloc.h... " >&6; }
+## Define MAIL_USE_FLOCK (or LOCKF) if the mailer uses flock (or lockf) to
+## interlock access to the mail spool. The alternative is a lock file named
+## /usr/spool/mail/$USER.lock.
+mail_lock=no
+case "$opsys" in
+ aix4-2) mail_lock="lockf" ;;
+
+ gnu|freebsd|netbsd|openbsd|darwin|irix6-5) mail_lock="flock" ;;
+
+ ## On GNU/Linux systems, both methods are used by various mail programs.
+ ## I assume most people are using newer mailers that have heard of flock.
+ ## Change this if you need to.
+ ## Debian contains a patch which says: ``On Debian/GNU/Linux systems,
+ ## configure gets the right answers, and that means *NOT* using flock.
+ ## Using flock is guaranteed to be the wrong thing. See Debian Policy
+ ## for details.'' and then uses `#ifdef DEBIAN'. Unfortunately the
+ ## Debian maintainer hasn't provided a clean fix for Emacs.
+ ## movemail.c will use `maillock' when MAILDIR, HAVE_LIBMAIL and
+ ## HAVE_MAILLOCK_H are defined, so the following appears to be the
+ ## correct logic. -- fx
+ ## We must check for HAVE_LIBLOCKFILE too, as movemail does.
+ ## liblockfile is a Free Software replacement for libmail, used on
+ ## Debian systems and elsewhere. -rfr.
+ gnu-*)
+ mail_lock="flock"
+ if test $have_mail = yes || test $have_lockfile = yes; then
+ test $ac_cv_header_maillock_h = yes && mail_lock=no
+ fi
+ ;;
+esac
+
+BLESSMAIL_TARGET=
+case "$mail_lock" in
+ flock)
+cat >>confdefs.h <<\_ACEOF
+#define MAIL_USE_FLOCK 1
+_ACEOF
+ ;;
+
+ lockf)
+cat >>confdefs.h <<\_ACEOF
+#define MAIL_USE_LOCKF 1
+_ACEOF
+ ;;
+
+ *) BLESSMAIL_TARGET="need-blessmail" ;;
+esac
+
+
+
## Use terminfo instead of termcap?
## Note only system files NOT using terminfo are:
-## bsd-common, freebsd < 40000, ms-w32, msdos, netbsd, and
+## freebsd < 40000, ms-w32, msdos, netbsd, and
## darwin|gnu without ncurses.
TERMINFO=no
LIBS_TERMCAP=
## hpux10-20: Use the system provided termcap(3) library.
## openbsd: David Mazieres <dm@reeducation-labor.lcs.mit.edu> says this
## is necessary. Otherwise Emacs dumps core when run -nw.
- aix4-2|cygwin|hpux*|irix6-5|openbsd|usg5-4|sol2*|unixware) TERMINFO=yes ;;
+ aix4-2|cygwin|hpux*|irix6-5|openbsd|sol2*|unixware) TERMINFO=yes ;;
## darwin: Prevents crashes when running Emacs in Terminal.app under 10.2.
## The ncurses library has been moved out of the System framework in
CFLAGS="$REAL_CFLAGS"
CPPFLAGS="$REAL_CPPFLAGS"
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+ && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+ && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
+ && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+ { { $as_echo "$as_me:$LINENO: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&5
+$as_echo "$as_me: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
#### Find out which version of Emacs this is.
-version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
+version=`grep 'const char emacs_version' ${srcdir}/src/emacs.c \
| sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
if test x"${version}" = x; then
- { { $as_echo "$as_me:$LINENO: error: can't find current emacs version in \`${srcdir}/lisp/version.el'." >&5
-$as_echo "$as_me: error: can't find current emacs version in \`${srcdir}/lisp/version.el'." >&2;}
+ { { $as_echo "$as_me:$LINENO: error: can't find current emacs version in \`${srcdir}/src/emacs.c'." >&5
+$as_echo "$as_me: error: can't find current emacs version in \`${srcdir}/src/emacs.c'." >&2;}
{ (exit 1); exit 1; }; }
fi
if test x"${version}" != x"$PACKAGE_VERSION"; then
- { $as_echo "$as_me:$LINENO: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/lisp/version.el'." >&5
-$as_echo "$as_me: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/lisp/version.el'." >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&5
+$as_echo "$as_me: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/src/emacs.c'." >&2;}
fi
### Specify what sort of things we'll be editing into Makefile and config.h.
### Use configuration here uncanonicalized to avoid exceeding size limits.
+## Unused?
+## FIXME? Nothing uses @LD_SWITCH_X_SITE@.
+## src/Makefile.in did add LD_SWITCH_X_SITE (as a cpp define) to the
+## end of LIBX_BASE, but nothing ever set it.
-
-
-
-
cat >>confdefs.h <<_ACEOF
#define EMACS_CONFIGURATION "${canonical}"
_ACEOF
_ACEOF
-cat >>confdefs.h <<_ACEOF
-#define LD_SWITCH_X_SITE ${LD_SWITCH_X_SITE}
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define C_SWITCH_X_SITE ${C_SWITCH_X_SITE}
-_ACEOF
-
-
XMENU_OBJ=
XOBJ=
+FONT_OBJ=
if test "${HAVE_X_WINDOWS}" = "yes" ; then
cat >>confdefs.h <<\_ACEOF
XMENU_OBJ=xmenu.o
XOBJ="xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o xsettings.o xgselect.o"
+ FONT_OBJ=xfont.o
+ if test "$HAVE_XFT" = "yes"; then
+ FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o"
+ elif test "$HAVE_FREETYPE" = "yes"; then
+ FONT_OBJ="$FONT_OBJ ftfont.o ftxfont.o"
+ fi
+
fi
+
WIDGET_OBJ=
MOTIF_LIBW=
if test "${USE_X_TOOLKIT}" != "none" ; 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
+
## 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.
LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)"
else
OLDXMENU=
- LIBXMENU="-lXMenu"
+ ## 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=
fi
-if test "$HAVE_GTK" = "yes"; then
+if test "$HAVE_GTK" = "yes" || test "$HAVE_MENUS" != "yes"; then
OLDXMENU=
LIBXMENU=
fi
+LIB_GCC=
+if test "x$GCC" = "xyes"; then
+
+ case "$opsys" in
+ ## cygwin: don't link against static libgcc.
+ cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
+
+ gnu-*)
+ ## armin76@gentoo.org reported that the lgcc_s flag is necessary to
+ ## build on ARM EABI under GNU/Linux. (Bug#5518)
+ ## Note that m/arm.h never bothered to undefine LIB_GCC first.
+ if test "$machine" = "arm"; then
+ LIB_GCC="-lgcc_s"
+ else
+ ## FIXME? s/gnu-linux.h used to define LIB_GCC as below, then
+ ## immediately undefine it again and redefine it to empty.
+ ## Was the C_SWITCH_X_SITE part really necessary?
+## LIB_GCC=`$CC $C_SWITCH_X_SITE -print-libgcc-file-name`
+ LIB_GCC=
+ fi
+ ;;
+
+ ## Ask GCC where to find libgcc.a.
+ *) LIB_GCC=`$CC -print-libgcc-file-name 2> /dev/null` ;;
+ esac
+fi
+
+
+TOOLTIP_SUPPORT=
+WINDOW_SUPPORT=
+## If we're using X11/GNUstep, define some consequences.
+if test "$HAVE_X_WINDOWS" = "yes" || test "$HAVE_NS" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WINDOW_SYSTEM 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MOUSE 1
+_ACEOF
+
+ MOUSE_SUPPORT="\$(REAL_MOUSE_SUPPORT)"
+ TOOLTIP_SUPPORT="\${lispsource}mouse.elc"
+
+ WINDOW_SUPPORT="\$(BASE_WINDOW_SUPPORT)"
+ test "$HAVE_X_WINDOWS" = "yes" && \
+ WINDOW_SUPPORT="$WINDOW_SUPPORT \$(X_WINDOW_SUPPORT)"
+
+fi
+
+
+
+
+
# the C preprocessor to some helpful value like 1, or maybe the empty
# string. Needless to say consequent macro substitutions are less
# than conducive to the makefile finding the correct directory.
-cpp_undefs="`echo $srcdir $configuration $canonical unix |
+# src/Makefile.in used to treat X11 as equivalent to HAVE_X11.
+# But nothing in Emacs defines X11, and everywhere else uses HAVE_X11,
+# so that cannot have been doing anything.
+cpp_undefs="`echo $srcdir $configuration $canonical unix mktime register X11 |
sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \
-e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`"
rm -f conftest*
-ac_config_files="$ac_config_files Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile.c:src/Makefile.in lwlib/Makefile lisp/Makefile leim/Makefile"
+ac_config_files="$ac_config_files Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile.c:src/Makefile.in lwlib/Makefile lisp/Makefile leim/Makefile"
ac_config_commands="$ac_config_commands default"
case $ac_config_target in
"src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h:src/config.in" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "lib-src/Makefile.c") CONFIG_FILES="$CONFIG_FILES lib-src/Makefile.c:lib-src/Makefile.in" ;;
+ "lib-src/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/Makefile" ;;
"oldXMenu/Makefile") CONFIG_FILES="$CONFIG_FILES oldXMenu/Makefile" ;;
"doc/emacs/Makefile") CONFIG_FILES="$CONFIG_FILES doc/emacs/Makefile" ;;
"doc/misc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/misc/Makefile" ;;
CPPFLAGS="$CPPFLAGS -traditional"
fi
-echo creating lib-src/Makefile
-( cd lib-src
- rm -f junk.c junk1.c junk2.c
- sed -e '/start of cpp stuff/q' \
- < Makefile.c > junk1.c
- sed -e '1,/start of cpp stuff/d'\
- -e 's,/\*\*/#\(.*\)$,/* \1 */,' \
- < Makefile.c > junk.c
- $CPP -P $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
- sed -e 's/^ / /' -e '/^#/d' -e '/^[ \f]*$/d' > junk2.c
- cat junk1.c junk2.c > Makefile.new
- rm -f junk.c junk1.c junk2.c
- chmod 444 Makefile.new
- mv -f Makefile.new Makefile
-)
-
echo creating src/Makefile
( cd src
rm -f junk.c junk1.c junk2.c