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],[[
pkgdir='${datadir}/${instvardir}/lisp'
package_path=''
etcdir='${datadir}/${instvardir}/etc'
-lockdir='${statedir}/${inststaticdir}/lock'
archlibdir='${datadir}/${instvardir}/${configuration}'
docdir='${archlibdir}'
with_prefix='yes'
done
;;
- dnl Has the user specified a prefered Athena widget set?
+ dnl Has the user specified a preferred Athena widget set?
dnl This bit expands any alias names out for us...
"with_athena" )
case "$val" in
dnl Has the user specified one of the path options?
prefix | exec_prefix | bindir | datadir | statedir | libdir | \
- mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
+ mandir | infodir | infopath | lispdir | etcdir | pkgdir | \
archlibdir | docdir | package_path )
dnl If the value was omitted, get it from the next argument.
if test "$valomitted" = "yes"; then
AC_DEFINE(LISPDIR_USER_DEFINED)
AC_DEFINE(MODULEDIR_USER_DEFINED)
AC_DEFINE(ETCDIR_USER_DEFINED) ;;
- statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
esac
dnl Has the user specified the toolkit(s) to use for GUI elements?
"with_menubars" | \
"with_scrollbars" | \
- "with_dialogs" | \
+ "with_dialogs" | \
"with_widgets" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
m | mo | mot | moti | motif ) val=motif ;;
a | at | ath | athe | athen | athena ) val=athena ;;
- n | no | non | none ) val=no ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`lucid', \`motif', \`athena', or \`no'."]) ;;
+ \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
esac
eval "$opt=\"$val\""
;;
*-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 ;;
esac
-if test -z "$machine" -o -z "$opsys"; then
- (echo "$progname: XEmacs hasn't been ported to \`$canonical' systems."
- echo "$progname: Check \`etc/MACHINES' for recognized configuration names."
- ) >&2
- exit 1
+dnl Initialize machine and opsys from $canonical if not in our database above.
+test -z "$machine" && machine=`echo $canonical | sed 's/-.*$//'`
+test -z "$opsys" && opsys=`echo $canonical | sed 's/^[^-]*-[^-]*-//'`
+
+dnl Use configure-time autodetection if s&m not available
+if test -r "${srcdir}/src/m/${machine}.h"; then
+ machfile="m/${machine}.h"
+ AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$machine' machines."
+ echo "Using configure-time autodetection only."
+fi
+
+if test -r "${srcdir}/src/s/${opsys}.h"; then
+ opsysfile="s/${opsys}.h"
+ AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$opsys' operating systems."
+ echo "Using configure-time autodetection only."
fi
+
if test -z "$dynamic"; then
case "$opsys" in
hpux* | sunos4* ) dynamic=no ;;
stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${canonical} | sed 'y/.-/__/'`
AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
-machfile="m/${machine}.h"
-opsysfile="s/${opsys}.h"
-
dnl --------------------------------------------------
dnl Determine the compiler, set up for feature testing
dnl --------------------------------------------------
AC_AIX dnl Defines _ALL_SOURCE on AIX.
-dnl Determine which SMART_INCLUDE macro will work for this system
-cat > $srcdir/conffoo.h <<EOF
-#define CONFFOO 1
-EOF
-AC_MSG_CHECKING(for a working inclusion macro)
-AC_TRY_COMPILE(,[
-#define SMART_INCLUDE(path,file) <path/file>
-#define CONFFOO_H_PATH $srcdir
-#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file)
-#include CONFFOO_INCLUDE(conffoo.h)
-], [ AC_MSG_RESULT(direct); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,0) ],
-AC_TRY_COMPILE(,[
-#define GLUE_INCLUDE(path,file) <##path##/##file##>
-#define SMART_INCLUDE(path,file) GLUE_INCLUDE(path,file)
-#define CONFFOO_H_PATH $srcdir
-#define CONFFOO_INCLUDE(file) SMART_INCLUDE(CONFFOO_H_PATH,file)
-#include CONFFOO_INCLUDE(conffoo.h)
-], [ AC_MSG_RESULT(simple); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,1) ],
-AC_TRY_COMPILE(,[
-#define GLUE_INCLUDE_2(path,file) <##path##/##file##>
-#define GLUE_INCLUDE_1(path,file) GLUE_INCLUDE_2(path,file)
-#define SMART_INCLUDE(path,file) GLUE_INCLUDE_1(path,file)
-#define CONFFOO_H_PATH $srcdir
-#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file)
-#include CONFFOO_INCLUDE(conffoo.h)
-], [ AC_MSG_RESULT(double); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,2) ],
- AC_MSG_ERROR([Cannot define a proper SMART_INCLUDE macro. Please report.]))))
-rm -f $srcdir/conffoo.h
-
-
-dnl We want feature macros defined here and in config.h.in, so that
+dnl We want feature macros defined here *and* in config.h.in, so that
dnl the compilation environment at configure time and compile time agree.
AC_MSG_CHECKING(for GNU libc)
return 11;
#elif defined __DECC
return 12;
+#elif defined __USLC__ && defined __SCO_VERSION__
+return 13;
#else
return 0;
#endif
[case "$conftest_rc" in
11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
+ 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;;
esac])
[#]endif
])dnl CPP_boolean_to_sh
-cat > $tempcname <<EOF
+cat > $tempcname < confdefs.h
+cat >> $tempcname <<EOF
#define NOT_C_CODE
#define C_SWITCH_SITE
#define C_SWITCH_X_SITE
#define LD_SWITCH_X_SITE
#define LD_SWITCH_X_SITE_AUX
#define OS_RELEASE $os_release
+
+#ifdef config_opsysfile
#include "$srcdir/src/$opsysfile"
+#endif
+
+#ifdef config_machfile
#include "$srcdir/src/$machfile"
+#endif
CPP_to_sh(LIBS_MACHINE, libs_machine)
CPP_to_sh(LIBS_SYSTEM, libs_system)
start_files=
libs_standard=
unexec=
- lib_gcc=
+ lib_gcc=
fi
dnl For debugging...
dnl Non-ordinary link usually requires -lc
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
+dnl -----------------------
dnl Compiler-specific hacks
-dnl DEC C requires -std
-test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
+dnl -----------------------
+
+dnl DEC C `-std1' means ANSI C mode
+test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site)
+
+dnl Some versions of SCO native compiler need -Kalloca
+if test "$__USLC__" = yes; then
+ AC_MSG_CHECKING(for whether the -Kalloca compiler flag is needed)
+ need_kalloca=no
+ AC_TRY_LINK([], [void *x = alloca(4);], [:], [
+ xe_save_c_switch_system="$c_switch_system"
+ c_switch_system="$c_switch_system -Kalloca"
+ AC_TRY_LINK([], [void *x = alloca(4);], [ need_kalloca=yes ])
+ c_switch_system="$xe_save_c_switch_system"])
+ AC_MSG_RESULT($need_kalloca)
+ test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system)
+fi
dnl Calculalate value of CFLAGS:
dnl Use either command line flag, environment var, or autodetection
case "$CFLAGS" in
*-fno-schedule-insns*) ;;
*)
- AC_MSG_RESULT(Yes)
+ AC_MSG_RESULT(yes)
AC_MSG_WARN(Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures)
AC_MSG_WARN(without also using -fno-schedule-insns.)
AC_MSG_ERROR(Aborting due to known problem)
dnl egcs-2.91.57 (egcs-1.1 release)
dnl egcs-2.91.66 (egcs-1.1.2 release)
Linux:alpha:egcs-2.91.*)
- AC_MSG_RESULT(Yes)
+ AC_MSG_RESULT(yes)
AC_MSG_WARN(There have been reports of egcs-1.1 not compiling XEmacs correctly on)
AC_MSG_WARN(Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.)
AC_MSG_ERROR(Aborting due to known problem)
case "$CFLAGS" in
*-fno-strength-reduce*) ;;
*)
- AC_MSG_RESULT(Yes)
+ 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-strength-reduce.)
AC_MSG_ERROR(Aborting due to known problem)
case "$CFLAGS" in
*-fno-caller-saves*) ;;
*)
- AC_MSG_RESULT(Yes)
+ 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)
fi
-AC_MSG_RESULT(No)
dnl Inform compiler that certain flags are meant for the linker
dnl XE_PROTECT_LINKER_FLAGS(shell_var)
doug_lea_malloc=no
fi
after_morecore_hook_exists=yes
-AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
AC_MSG_CHECKING(whether __after_morecore_hook exists)
AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
- User chose to use Debugging Malloc."
fi
-if test "$doug_lea_malloc" = "yes" ; then
- if test "$GNU_MALLOC" = yes ; then
- GNU_MALLOC_reason="
+if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then
+ GNU_MALLOC_reason="
- Using Doug Lea's new malloc from the GNU C Library."
- fi
AC_DEFINE(DOUG_LEA_MALLOC)
if test "$after_morecore_hook_exists" = "no" ; then
GNU_MALLOC_reason="
- Using Doug Lea's new malloc from the Linux C Library."
AC_DEFINE(_NO_MALLOC_WARNING_)
fi
- use_minimal_tagbits=yes
fi
dnl #### mcheck is broken in all versions of Linux libc and glibc.
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
mach/mach.h dnl
sys/param.h dnl
sys/pstat.h dnl
- sys/stropts.h dnl
sys/time.h dnl
sys/timeb.h dnl
sys/un.h dnl
- kstat.h dnl
ulimit.h dnl
unistd.h dnl
utime.h dnl
AC_TYPE_OFF_T
AC_CHECK_TYPE(ssize_t, int)
+dnl check for Unix98 socklen_t
+AC_MSG_CHECKING(for socklen_t)
+AC_TRY_COMPILE([#include <sys/socket.h>
+socklen_t x;
+],[],[AC_MSG_RESULT(yes)],[
+AC_TRY_COMPILE([#include <sys/socket.h>
+int accept (int, struct sockaddr *, size_t *);
+],[],[
+AC_MSG_RESULT(size_t)
+AC_DEFINE(socklen_t,size_t)], [
+AC_MSG_RESULT(int)
+AC_DEFINE(socklen_t,int)])])
+
AC_MSG_CHECKING(for struct timeval)
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
test -z "$mail_locking" -a "$mail_use_locking" = "yes" && mail_locking=locking
+if test -z "$mail_locking"; then
+ case "$opsys" in cygwin* | mingw*)
+ mail_locking=pop ;;
+ esac
+fi
+
if test "$mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF)
elif test "$mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK)
elif test "$mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING)
+elif test "$mail_locking" = "pop"; then
+ with_pop=yes
+ mail_locking=
else mail_locking="dot-locking"; AC_DEFINE(MAIL_LOCK_DOT)
fi
test "$mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \
done
dnl Avoid version mismatch for shared library libXm.so on osf4
- if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
+ case "$opsys" in
+ decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi ;;
+ esac
ld_switch_x_site="$X_LIBS"
cd ..
rm -fr conftestdir
for word in $xmkmf_defines; do
- case "$word" in
- -D*=* ) ;;
- -D* ) word=`echo '' $word | sed -e 's:^ *-D::'`
- AC_DEFINE_UNQUOTED($word) ;;
+ case "$word" in -D* )
+ sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
+ case "$word" in
+ -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
+ * ) val=1 ;;
+ esac
+dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
+ if grep "^#define $sym " confdefs.h >/dev/null; then :; else
+ if test "$val" = "1"
+ then AC_DEFINE_UNQUOTED($sym)
+ else AC_DEFINE_UNQUOTED($sym,$val)
+ fi
+ fi ;;
esac
done
fi
AC_MSG_RESULT(R${x11_release})
AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
+ if test "${x11_release}" = "4"; then
+ case "$with_widgets" in
+ "" | "no") with_widgets=no ;;
+ *) XE_DIE("Widget support requires X11R5 or greater") ;;
+ esac
+ fi
+
AC_CHECK_FUNCS(XConvertCase)
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,
if test "$with_msw" = "yes"; then
AC_DEFINE(HAVE_MS_WINDOWS)
install_pp="$blddir/lib-src/installexe.sh"
- XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32 -lwinspool, libs_system)
+ XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
if test "$window_system" != x11; then
window_system=msw
done
fi
+dnl Balloon Help requires the Shape extension, not available everywhere,
+dnl for example not on AIX 4.3.
+if test "$with_x11" = "yes"; then
+ AC_CHECK_HEADER(X11/extensions/shape.h, [
+ AC_DEFINE(HAVE_BALLOON_HELP)
+ XE_ADD_OBJS(balloon_help.o balloon-x.o)])
+fi
+
dnl FSF 19.29 has some bitmapdir stuff here.
bitmapdir=
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} )])
fi
dnl Autodetect PostgreSQL
-dnl The default installation location (non-Linux) is /usr/local/pgsql;
-dnl a different prefix can be selected at build/install time. If PostgreSQL
-dnl is installed into a different prefix, that prefix must be specified in
-dnl in the --site-prefixes flag.
-dnl The default RPM-based Linux installation location is /usr.
-AC_CHECKING(for PostgreSQL)
-postgres_h_path=""
-postgres_includes_found=no
-save_c_switch_site="$c_switch_site"
-
-dnl First, test standard location and site prefixes only:
+dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr;
+dnl in this case, configure will easily detect it there.
+dnl
+dnl If PostgreSQL is installed into a different prefix,
+dnl (such as the default /usr/local/pgsql when building from source),
+dnl that prefix must be specified using the --site-prefixes flag.
if test "$with_postgresql" != "no"; then
- AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
-fi
+ AC_CHECKING(for PostgreSQL)
-dnl Otherwise, test different known headers locations on linux:
-if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
- -d "/usr/local/pgsql/include"; then
- c_switch_site="$c_switch_site -I/usr/local/pgsql/include"
- AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
- if test "$postgres_includes_found" != "yes"; then
- postgres_h_path="/usr/local/pgsql/include"
- fi
- c_switch_site="$save_c_switch_site"
-fi
-if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
- -d "/usr/include/pgsql"; then
- c_switch_site="$c_switch_site -I/usr/include/pgsql"
- AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
- if test "$postgres_includes_found" = "yes"; then
- postgres_h_path="pgsql"
- fi
- c_switch_site="$save_c_switch_site"
- fi
-if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
- -d "/usr/include/postgresql"; then
- c_switch_site="$c_switch_site -I/usr/include/postgresql"
- AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
- if test "$postgres_includes_found" = "yes"; then
- postgres_h_path="postgresql"
-fi
- c_switch_site="$save_c_switch_site"
-fi
+dnl Look for these standard header file locations, known to be used on Linux
+ for header_dir in "" "pgsql/" "postgresql/"; do
+ AC_CHECK_HEADER(${header_dir}libpq-fe.h,
+ libpq_fe_h_file=${header_dir}libpq-fe.h; break)
+ done
-dnl Finally, check if we can link with libpq:
-if test "$postgres_includes_found" = "yes"; then
- AC_CHECK_LIB(pq,PQconnectdb,with_postgresql=yes,with_postgresql=no)
-fi
-if test "$with_postgresql" = "yes"; then
- AC_CHECK_LIB(pq,PQconnectStart,with_postgresqlv7=yes,with_postgresqlv7=no)
-fi
-if test "$with_postgresql" = "yes"; then
- if test -n "$postgres_h_path"; then
- AC_DEFINE_UNQUOTED(POSTGRES_H_PATH, $postgres_h_path)
- fi
- AC_DEFINE(HAVE_POSTGRESQL)
- if test "$with_postgresqlv7" = "yes"; then
- AC_DEFINE(HAVE_POSTGRESQLV7)
- fi
- XE_PREPEND(-lpq, LIBS)
- XE_ADD_OBJS(postgresql.o)
+ test -n "$libpq_fe_h_file" && { AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) }
+
+ if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then
+ with_postgresql=yes
+ AC_DEFINE(HAVE_POSTGRESQL)
+ AC_CHECK_LIB(pq,PQconnectStart, [
+ with_postgresqlv7=yes;
+ AC_DEFINE(HAVE_POSTGRESQLV7)])
+ AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
+ XE_PREPEND(-lpq, LIBS)
+ XE_ADD_OBJS(postgresql.o)
+ elif test "$with_postgresql" = "yes"; then
+ XE_DIE("Required PostgreSQL support cannot be provided. Check --site-prefixes.")
+ fi
fi
dnl ----------------------
dnl Add the Athena widget library we located earlier
XE_PREPEND(-l$athena_lib, libs_x)
- dnl Export the path for lwlib, used to build and include the headers
- dnl from the right place later on.
- AC_DEFINE_UNQUOTED(ATHENA_H_PATH, $athena_h_path)
+ dnl Tell lwlib where to find the Athena header files.
+ dnl Many people have tried to create a `smart' way of doing this,
+ dnl but all have failed. Before changing the following ugly definitions,
+ dnl consult the veterans of many a battle.
+ AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
+ AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
+ AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
+ AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
AC_DEFINE(LWLIB_USES_ATHENA)
AC_DEFINE(NEED_ATHENA)
+ need_athena="yes"
if test "$athena_3d" = "yes"; then
AC_DEFINE(HAVE_ATHENA_3D)
if test "$with_utf_2000" = "yes" ; then
AC_DEFINE(CHAR_IS_UCS4)
AC_DEFINE(UTF2000)
+ AC_DEFINE(HAVE_GGC)
fi
AC_CHECKING(for Mule input methods)
XE_COMPUTE_RUNPATH()
fi
-AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getpt getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
+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 _getpty is the preferred pty allocation method on SGI systems.
+dnl grantpt, unlockpt, ptsname are defined by Unix98.
+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.
+AC_CHECK_FUNC(openpty, have_openpty=yes, [
+ AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
+if test "$have_openpty" = "yes"; then
+ AC_DEFINE(HAVE_OPENPTY)
+ AC_CHECK_HEADERS(pty.h libutil.h)
+ test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
+fi
+
+dnl Check for STREAM support functions.
+dnl Confusingly, "str" means both "string" and "SysV Streams".
+AC_CHECK_HEADERS(stropts.h)
+if test "$ac_cv_header_stropts_h" = "yes"; then
+ AC_CHECK_FUNCS(isastream)
+ AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
+fi
dnl Use our own realpath always.
XE_ADD_OBJS(realpath.o)
-dnl Check whether the system provides getloadavg (Solaris 7 has it)
+dnl Check whether the system provides getloadavg().
AC_CHECK_FUNCS(getloadavg)
-if test "$ac_cv_func_getloadavg" != "yes"
-then
+if test "$ac_cv_func_getloadavg" = "yes"; then
+ dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>.
+ dnl glibc 2.2 declares getloadavg() in <stdlib.h>...
+ dnl ...if we #define _GNU_SOURCE, which we do.
+ AC_CHECK_HEADERS(sys/loadavg.h)
+else
+ dnl We define our own getloadavg() using lower level functions.
XE_ADD_OBJS(getloadavg.o)
dnl Used by getloadavg() - does not require root priveleges
AC_CHECK_LIB(kstat, kstat_open)
+ AC_CHECK_HEADERS(kstat.h)
dnl Another way to get the load average
AC_CHECK_LIB(kvm, kvm_read)
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.
done
fi
+ dnl Win32 Native uses native sound
+ if test -z "$sound_found"; then
+ if test "$with_msw" = "yes"; then
+ sound_found=yes
+ native_sound_lib=
+ fi
+ fi
+
test "$sound_found" = "yes" && with_native_sound=yes
fi
if test "$with_modules" != "no"; then
AC_CHECKING(for module support)
- 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 ])])])
- if test -n "$have_dl"; then
- AC_DEFINE(HAVE_DLOPEN)
+ dnl Check for MS-Windows
+ if test "$with_msw" = "yes"; then
+ have_dl=yes;
else
- AC_CHECK_LIB(dld, shl_load, [
- libdl=dld have_dl=yes;
- AC_DEFINE(HAVE_SHL_LOAD)], [
- AC_CHECK_LIB(dld, dld_init, [
- libdl=dld have_dl=yes;
- AC_DEFINE(HAVE_DLD_INIT)])])
- fi
+ 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 ])])])
+ if test -n "$have_dl"; then
+ AC_DEFINE(HAVE_DLOPEN)
+ else
+ AC_CHECK_LIB(dld, shl_load, [
+ libdl=dld have_dl=yes;
+ AC_DEFINE(HAVE_SHL_LOAD)], [
+ AC_CHECK_LIB(dld, dld_init, [
+ libdl=dld have_dl=yes;
+ AC_DEFINE(HAVE_DLD_INIT)])])
+ fi
+ fi dnl end !MS-Windows
if test -n "$have_dl"; then
dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared
done
AC_SUBST(ETCDIR)
-AC_SUBST(lockdir)
-AC_SUBST(LOCKDIR_USER_DEFINED)
-LOCKDIR=$lockdir
-while true; do
- case "$LOCKDIR" in
- *\$* ) eval "LOCKDIR=$LOCKDIR" ;;
- *) break ;;
- esac
-done
-AC_SUBST(LOCKDIR)
-
AC_SUBST(docdir)
AC_SUBST(DOCDIR_USER_DEFINED)
DOCDIR=$docdir
XE_SPACE(ac_configure_args, $ac_configure_args)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$configuration")
AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
-AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
-AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
dnl Following are deprecated
if test -n "$runpath"; then
echo " Runtime library search path: $runpath"
fi
-echo " Operating system description file: \`$opsysfile'"
-echo " Machine description file: \`$machfile'"
+
+if test -n "$opsysfile"
+then echo " Operating system description file: \`$opsysfile'"
+else echo " Not using any operating system description file"
+fi
+if test -n "$machfile"
+then echo " Machine description file: \`$machfile'"
+else echo " Not using any machine description file"
+fi
+
echo " Compiler: $CC $CFLAGS"
echo " Relocating allocator for buffers: $rel_alloc"
echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
echo " - Handling WM_COMMAND properly."
fi
fi
-if test "$have_xaw" = "yes"; then
+if test "$need_athena" = "yes"; then
echo " Compiling in support for the Athena widget set:"
echo " - Athena headers location: $athena_h_path"
echo " - Athena library to link: $athena_lib"
test "$with_ldap" = yes && echo " Compiling in support for LDAP."
if test "$with_postgresql" = yes; then
echo " Compiling in support for PostgreSQL."
- if test "$with_postgresqlv7" = yes; then
- echo " - Using PostgreSQL V7 bindings."
- fi
- if test -n "$postgres_h_path"; then
- echo " - PostgreSQL headers location: $postgres_h_path"
- fi
+ echo " - Using PostgreSQL header file: $libpq_fe_h_file"
+ test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
fi
echo "
test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval."
test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication."
test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access."
-echo " Compiling in support for \"$mail_locking\" mail spool file locking method."
+test -n "$mail_locking" && echo " Compiling in support for \"$mail_locking\" mail spool file locking method."
echo "
Other Features:"
test "$with_socks" = yes && echo " Compiling in support for SOCKS."
test "$with_dnet" = yes && echo " Compiling in support for DNET."
test "$with_modules" = "yes" && echo " Compiling in support for dynamic shared object modules."
-test "$with_clash_detection" != "no" && \
- echo " Clash detection will use \"$lockdir\" for locking files."
test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
test "$pdump" = yes && echo " Using the new portable dumper."
test "$debug" = yes && echo " Compiling in support for extra debugging code."
-e 's/^[ TAB][ TAB]*$//'\
-e 's/^ /TAB/' \
dnl Delete blank lines
- | sed -n -e '/^..*$/p' \
+ -e '/^[ \f]*$/d' \
dnl Restore lines quoted above to original contents.
- | sed '/^\"/ {
+ -e '/^\"/ {
s/\\\([\"]\)/\1/g
s/^[ TAB]*\"//
s/\"[ TAB]*$//