dnl - non-standard options
dnl - suport for extra-verbosity
dnl - ordinary libs are handled separately from X libs (might be a mistake)
-dnl - various random kludges (e.g. -with-dnet=no
+dnl - various random kludges (e.g. -with-dnet=no)
dnl PRINT_VAR(var var ...) prints values of shell variables
define([PRINT_VAR],[for var in patsubst([$1],[[
with_dialogs=''
with_file_coding=''
cpp='' cppflags='' libs='' ldflags=''
+extra_includes=''
dynamic=''
with_x11=''
with_msw=''
a | at | ath | athe | athen | athena ) val=athena ;;
n | no | non | none ) val=no ;;
y | ye | yes ) val=yes ;;
+ m | ms | msw ) val=msw ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
\`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
esac
*-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
*-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;;
*-dec-osf3* ) opsys=decosf3-1 ;;
- *-dec-osf4* ) opsys=decosf4-0 ;;
+ *-dec-osf[[4-9]]* ) opsys=decosf4-0 ;;
dnl DEC Ultrix
*-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;;
have_terminfo mail_use_flock mail_use_lockf) && echo ""
dnl Pick up mingw32 include path
-case "$opsys" in mingw*) mingw_include=`eval "gcc -print-file-name=libc.a"` ;
- mingw_include=`eval "dirname $mingw_include"` ;
- mingw_include="-I$mingw_include/../include/mingw32" ;
- XE_APPEND($mingw_include, c_switch_system) ;;
+case "$opsys" in mingw* | cygwin*)
+ cygwin_include=`eval "gcc -print-file-name=libc.a"` ;
+ cygwin_include=`eval "dirname $cygwin_include"` ;
+ cygwin_include="-I$cygwin_include/../include" ;
+ extra_includes="$cygwin_include/mingw32 $cygwin_include/mingw $cygwin_include" ;
+ case "$opsys" in mingw*)
+ XE_APPEND($extra_includes, c_switch_system) ;;
+ esac
+ ;;
esac
dnl Non-ordinary link usually requires -lc
AC_MSG_ERROR(Aborting due to known problem)
;;
*:i*86*:2.7.2*)
- case "$GCC_VERSION" in
- 2.7.2)
- case "$CFLAGS" in
- *-O2*|*-O3*)
+ case "$CFLAGS" in
+ *-O2*|*-O3*)
+ case "$GCC_VERSION" in
+ 2.7.2)
case "$CFLAGS" in
*-fno-strength-reduce*) ;;
*)
esac
;;
esac
+ case "$CFLAGS" in
+ *-fno-caller-saves*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
+ AC_MSG_WARN(-fno-caller-saves.)
+ AC_MSG_ERROR(Aborting due to known problem)
+ ;;
+ esac
;;
esac
- case "$CFLAGS" in
- *-fno-caller-saves*) ;;
- *)
- AC_MSG_RESULT(yes)
- AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
- AC_MSG_WARN(-fno-caller-saves.)
- AC_MSG_ERROR(Aborting due to known problem)
- ;;
- esac
;;
esac
AC_MSG_RESULT(no)
dnl checks for header files
AC_CHECK_HEADERS(dnl
a.out.h dnl
+ elf.h dnl
cygwin/version.h dnl
fcntl.h dnl
inttypes.h dnl
AC_CHECK_HEADERS(X11/Xlocale.h)
- dnl remove this - we should avoid checking for specific OS
- AC_MSG_CHECKING(for XFree86)
- if test -d "/usr/X386/include" -o \
- -f "/etc/XF86Config" -o \
- -f "/etc/X11/XF86Config" -o \
- -f "/usr/X11R6/lib/X11/XF86Config"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_XFREE386)
- else
- AC_MSG_RESULT(no)
- fi
+ dnl XFree86 has a non-standard prototype for this X11R6 function
+ AC_CHECK_FUNCS(XRegisterIMInstantiateCallback)
+ AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype)
+ AC_TRY_COMPILE([
+#define NeedFunctionPrototypes 1
+#include <X11/Xlib.h>
+extern Bool XRegisterIMInstantiateCallback(
+ Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*);
+], [],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)])
dnl autodetect -lXmu
test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile,
AC_CHECK_LIB(gdi32,main,with_msw=yes)
if test "$with_msw" = "yes"; then
AC_DEFINE(HAVE_MS_WINDOWS)
+
+ dnl The net installer only works with MS-Windows currently
+ XE_APPEND(netinstall, MAKE_SUBDIR)
+ XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
+ XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
+
install_pp="$blddir/lib-src/installexe.sh"
XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
dnl Autodetect Drag'n'Drop support
dnl always included if CDE, Offix, or MSWindows are defined
-AC_MSG_CHECKING(if drag and drop API is needed)
if test "$with_dragndrop" != "no" ; then
+ AC_MSG_CHECKING(if drag and drop API is needed)
if test -n "$dragndrop_proto" ; then
with_dragndrop=yes
AC_MSG_RESULT([yes (${dragndrop_proto} )])
if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then
AC_DEFINE(USE_XFONTSET)
if test "$with_xim" = "no" ; then
- XE_ADD_OBJS(input-method-xfs.o)
+ XE_ADD_OBJS(input-method-xlib.o)
fi
fi
fi dnl with_xfs
AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
dnl Check for PTY support functions.
-dnl getpt is the preferred pty allocation method on glibc systems.
-dnl _getpt is the preferred pty allocation method on SGI systems.
+dnl getpt is the preferred pty allocation method on glibc systems.
+dnl _getpty is the preferred pty allocation method on SGI systems.
dnl grantpt, unlockpt, ptsname are defined by Unix98.
-AC_CHECK_FUNCS(getpt _getpt grantpt unlockpt ptsname killpg tcgetpgrp)
+AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
dnl openpty is the preferred pty allocation method on BSD and Tru64 systems.
dnl openpty might be declared in pty.h or in libutil.h.
dnl Check for STREAM support functions.
dnl Confusingly, "str" means both "string" and "SysV Streams".
-AC_CHECK_HEADERS(sys/stropts.h)
-if test "$ac_cv_header_sys_stropts_h" = "yes"; then
+AC_CHECK_HEADERS(stropts.h)
+if test "$ac_cv_header_stropts_h" = "yes"; then
AC_CHECK_FUNCS(isastream)
- AC_CHECK_HEADERS(sys/strtio.h) dnl TIOCSIGNAL
+ AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
fi
dnl Use our own realpath always.
dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
dnl esac
-AC_FUNC_ALLOCA
-test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
+if test "$__DECC" != "yes"; then
+ AC_FUNC_ALLOCA
+ test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+fi
dnl Check whether vfork exists and works correctly. (This does more
dnl than just check for its existence.) If so, it defines HAVE_VFORK_H.
#if DB_VERSION_MAJOR > 1
yes
#endif
-], [AC_MSG_RESULT(2); dbfunc=db_open], [AC_MSG_RESULT(1); dbfunc=dbopen])
+], [AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 2
+yes
+#endif
+], [AC_MSG_RESULT(3); dbfunc=db_create],[
+ AC_MSG_RESULT(2); dbfunc=db_open])],[
+ AC_MSG_RESULT(1); dbfunc=dbopen])
AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
fi
else
dnl Find headers and libraries
AC_CHECK_HEADER(dlfcn.h, [
- AC_CHECK_LIB(dl, dlopen, [ have_dl=yes libdl=dl], [
- AC_CHECK_LIB(c, dlopen, [ have_dl=yes ])])])
+ AC_MSG_CHECKING([for dlopen in -lc])
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ], [
+ AC_MSG_CHECKING([for dlopen in -ldl])
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldl $LIBS"
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ],
+ [LIBS="$ac_save_LIBS"])
+ ac_save_LIBS=])])
if test -n "$have_dl"; then
AC_DEFINE(HAVE_DLOPEN)
else
AC_SUBST(statedir)
AC_SUBST(libdir)
AC_SUBST(mandir)
+AC_SUBST(extra_includes)
AC_SUBST(prefix)
AC_SUBST(PREFIX_USER_DEFINED)