comparison configure.in @ 1111:184461bc8de4

[xemacs-hg @ 2002-11-18 06:52:23 by ben] warning fixes, etc. * s/cygwin32.h: -fvtable-thunks is obsolete in GCC 3 and generates warnings. * s/mingw32.h: * s/windowsnt.h: Comment fixes. * emodules.h: Fix warnings from redefining symbols. * eval.c: Fix C++ errors -- no automatic casting between function pointers and void *, function declarations inside of functions not allowed. * event-Xt.c (emacs_Xt_enqueue_focus_event): Warning fixes. * fileio.c (Ffile_truename): Warning fixes. Use LOCAL_TO_WIN32_FILE_FORMAT rather than duplicating it. * glyphs-x.c: Fix style. * intl-auto-encap-win32.c: * intl-auto-encap-win32.h: * intl-encap-win32.c: * intl-encap-win32.c (qxeRegConnectRegistry): * syswindows.h (RegConnectRegistry): DdeCreateStringHandle needs to be manual due to new Cygwin bug. * intl-win32.c: wcslen/wcscmp don't seem to exist under G++ 3, Cygwin. * lisp.h: * lisp-union.h: * lisp-disunion.h: * process-unix.c (unix_send_process): Ugh, C needs volatile and C++ must not have volatile. Remove previous volatile hacks, which don't seem to be working any more. * sheap.c (STATIC_HEAP_SLOP): Try to get a working Cygwin build with old unexec. * sheap.c (more_static_core): No NL's in literals allowed. * symbols.c (Fset): Fix C++ errors. * syswindows.h: Fix Cygwin complaints now that some missing structs have been added. aclocal.m4: Disable shared library modules under Cygwin for the moment, since we need some more tricky coding done and I don't have the time right now. configure.in, configure.usage: code-files.el, loadhist.el: Fix warnings. package-get.el: Fix warnings. NOTE: This was already fixed awhile ago, but reverted by Steve Y. Please be careful. postgresql/Makefile.in.in: Removed. Move common stuff into modues/common/Makefile.common. (Also add extraclean target and a couple of other fixes in that file.) postgresql/configure.ac: Extract out common configure stuff into modules/common/configure-{pre,post}.ac. postgresql/postgresql.c: Fix warning. ldap/Makefile.in.in: Removed. Move common stuff into modues/common/Makefile.common. (Also add extraclean target and a couple of other fixes in that file.) ldap/configure.ac: Extract out common configure stuff into modules/common/configure-{pre,post}.ac. common/Makefile.common: Common stuff is here.
author ben
date Mon, 18 Nov 2002 06:53:08 +0000
parents 989ddde6705d
children b3fcaf7cb856
comparison
equal deleted inserted replaced
1110:49065a0d2943 1111:184461bc8de4
51 51
52 dnl We use the m4 quoting characters [ ] (as established by the 52 dnl We use the m4 quoting characters [ ] (as established by the
53 dnl autoconf system), so quote them like this: [[foo]] 53 dnl autoconf system), so quote them like this: [[foo]]
54 54
55 AC_PREREQ(2.13)dnl 55 AC_PREREQ(2.13)dnl
56
57 dnl #### Doesn't work currently. it would be really nice if we could
58 dnl get this working, because many autoconfs v2.5 come with support for
59 dnl v2.1 source files but get snafued by our nasty configure.ac kludge.
60 dnl
61 dnl m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]), 2.5), -1,
62 dnl [m4_fatal([Autoconf version 2.5 or higher not supported])])
63
56 dnl Redefine some standard autoconf macros 64 dnl Redefine some standard autoconf macros
57 dnl here is how XEmacs is different: 65 dnl here is how XEmacs is different:
58 dnl - no cache file 66 dnl - no cache file
59 dnl - non-standard options 67 dnl - non-standard options
60 dnl - support for extra-verbosity 68 dnl - support for extra-verbosity
344 docdir='${archlibdir}' 352 docdir='${archlibdir}'
345 with_netinstall="no" 353 with_netinstall="no"
346 with_prefix='yes' 354 with_prefix='yes'
347 with_site_lisp='no' 355 with_site_lisp='no'
348 with_site_modules='yes' 356 with_site_modules='yes'
357 need_modules_common=''
349 with_menubars='' 358 with_menubars=''
350 with_scrollbars='' 359 with_scrollbars=''
351 with_widgets='' 360 with_widgets=''
352 with_dialogs='' 361 with_dialogs=''
353 cpp='' cppflags='' libs='' ldflags='' 362 cpp='' cppflags='' libs='' ldflags=''
531 dnl The cache-file option is ignored (for compatibility with other configures) 540 dnl The cache-file option is ignored (for compatibility with other configures)
532 srcdir | \ 541 srcdir | \
533 compiler | \ 542 compiler | \
534 xemacs_compiler | \ 543 xemacs_compiler | \
535 cflags | \ 544 cflags | \
545 cflags_warning | \
536 cpp | \ 546 cpp | \
537 cppflags | \ 547 cppflags | \
538 libs | \ 548 libs | \
539 ldflags | \ 549 ldflags | \
540 cache_file | \ 550 cache_file | \
1644 if test "${CFLAGS-unset}" != unset 1654 if test "${CFLAGS-unset}" != unset
1645 then cflags_specified=yes; 1655 then cflags_specified=yes;
1646 else cflags_specified=no; 1656 else cflags_specified=no;
1647 fi 1657 fi
1648 1658
1659 if test "${cflags_warning-unset}" != unset
1660 then cflags_warning_specified=yes;
1661 else cflags_warning_specified=no;
1662 fi
1663
1649 xe_save_CFLAGS="$CFLAGS" 1664 xe_save_CFLAGS="$CFLAGS"
1650 1665
1651 AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection 1666 AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection
1652 1667
1653 dnl Retry using random guesswork if AC_PROG_CC got it wrong... 1668 dnl Retry using random guesswork if AC_PROG_CC got it wrong...
1929 dnl Use either command line flag, environment var, or autodetection 1944 dnl Use either command line flag, environment var, or autodetection
1930 if test "$cflags_specified" = "no"; then 1945 if test "$cflags_specified" = "no"; then
1931 dnl Following values of CFLAGS are known to work well. 1946 dnl Following values of CFLAGS are known to work well.
1932 dnl Should we take debugging options into consideration? 1947 dnl Should we take debugging options into consideration?
1933 if test "$GCC" = "yes"; then 1948 if test "$GCC" = "yes"; then
1934 CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes" 1949 CFLAGS="-g -O3"
1950 dnl I'm not convinced this is a good idea any more. -sb
1951 dnl test "$opsys $machine" = "linux intel386" && \
1952 dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
1953 elif test "$__SUNPRO_C" = "yes"; then
1954 case "$opsys" in
1955 sol2 ) CFLAGS="-xO4" ;;
1956 sunos4* ) CFLAGS="-xO2" ;;
1957 esac
1958 elif test "$__DECC" = "yes"; then
1959 CFLAGS="-O3"
1960 elif test "$CC" = "xlc"; then
1961 CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qro -qmaxmem=20000"
1962 dnl ### Add optimal CFLAGS support for other compilers HERE!
1963 else
1964 CFLAGS="-O" ;dnl The only POSIX-approved flag
1965 fi
1966 fi
1967
1968 dnl Calculate warning flags. We now separate the flags for warnings from
1969 dnl the other flags because we really really want the warnings to be seen
1970 dnl by everyone.
1971
1972 if test "$cflags_warning_specified" = "no"; then
1973 dnl Following warning flags are known to work well.
1974 if test "$GCC" = "yes"; then
1975 cflags_warning="-Wall -Wno-switch -Winline -Wmissing-prototypes"
1935 dnl Yuck, bad compares have been worth at least 3 crashes! 1976 dnl Yuck, bad compares have been worth at least 3 crashes!
1936 CFLAGS="$CFLAGS -Wsign-compare" 1977 cflags_warning="$cflags_warning -Wsign-compare"
1978 dnl NOTE: The following three, as well as -Wmissing-declarations and
1979 dnl -Weffc++ below, have been recently added. If you are getting
1980 dnl grief from them, please notify ben@xemacs.org!
1981 cflags_warning="$cflags_warning -Wundef -Wstrict-prototypes -Wpacked"
1937 dnl With g++, -Wshadow produces five zillion utterly random warnings -- 1982 dnl With g++, -Wshadow produces five zillion utterly random warnings --
1938 dnl a local var named `buffer' conflicts with `struct buffer' for 1983 dnl a local var named `buffer' conflicts with `struct buffer' for
1939 dnl example. Even with gcc, -Wshadow is questionable because of its 1984 dnl example. Even with gcc, -Wshadow is questionable because of its
1940 dnl complaints about parameters with the same names as global functions. 1985 dnl complaints about parameters with the same names as global functions.
1941 if test "$xemacs_compiler" != "g++"; then 1986 if test "$xemacs_compiler" != "g++"; then
1942 CFLAGS="$CFLAGS -Wshadow" 1987 dnl no -Wmissing-declarations under g++.
1988 cflags_warning="$cflags_warning -Wshadow -Wmissing-declarations"
1989 else
1990 cflags_warning="$cflags_warning -Weffc++"
1943 fi 1991 fi
1944 dnl glibc is intentionally not `-Wpointer-arith'-clean. 1992 dnl glibc is intentionally not `-Wpointer-arith'-clean.
1945 dnl Ulrich Drepper has rejected patches to fix the glibc header files. 1993 dnl Ulrich Drepper has rejected patches to fix the glibc header files.
1946 test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith" 1994 test "$have_glibc" != "yes" && \
1947 dnl I'm not convinced this is a good idea any more. -sb 1995 cflags_warning="$cflags_warning -Wpointer-arith"
1948 dnl test "$opsys $machine" = "linux intel386" && \
1949 dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
1950 elif test "$__SUNPRO_C" = "yes"; then 1996 elif test "$__SUNPRO_C" = "yes"; then
1951 case "$opsys" in 1997 case "$opsys" in
1952 sol2 ) CFLAGS="-v -xO4" ;; 1998 sol2 ) cflags_warning="-v" ;;
1953 sunos4* ) CFLAGS="-xO2";;
1954 esac 1999 esac
1955 elif test "$__DECC" = "yes"; then
1956 CFLAGS="-O3"
1957 elif test "$CC" = "xlc"; then 2000 elif test "$CC" = "xlc"; then
1958 CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000" 2001 cflags_warning="-qinfo"
1959 dnl ### Add optimal CFLAGS support for other compilers HERE! 2002 dnl ### Add optimal cflags_warning support for other compilers HERE!
1960 else 2003 fi
1961 CFLAGS="-O" ;dnl The only POSIX-approved flag 2004 fi
1962 fi 2005
1963 fi 2006 dnl Now combine all C flags. Put the warning flags first so that
2007 dnl user-specified flags will override.
2008 CFLAGS="$cflags_warning $CFLAGS"
1964 2009
1965 dnl Search for GCC specific build problems we know about 2010 dnl Search for GCC specific build problems we know about
1966 if test "$GCC" = "yes"; then 2011 if test "$GCC" = "yes"; then
1967 AC_MSG_CHECKING(for buggy gcc versions) 2012 AC_MSG_CHECKING(for buggy gcc versions)
1968 GCC_VERSION=`$CC --version` 2013 GCC_VERSION=`$CC --version`
3063 3108
3064 dnl This one is for the static initializeds variables in 3109 dnl This one is for the static initializeds variables in
3065 dnl offix.c, so that the thing is dumped after lastfile.o 3110 dnl offix.c, so that the thing is dumped after lastfile.o
3066 AC_SUBST(dnd_objs) 3111 AC_SUBST(dnd_objs)
3067 3112
3113 dnl Support for using a different compiler for xemacs itself.
3114 dnl Useful for building XEmacs with a C++ compiler.
3115 dnl For example, `configure --compiler=gcc --xemacs-compiler=g++
3116
3117 dnl The compiler used to build xemacs, as opposed to the compiler
3118 dnl used by configure and lib-src, is determined from the following
3119 dnl sources, in order of priority:
3120 dnl o --xemacs-compiler configure flag
3121 dnl o XEMACS_CC environment variable
3122 dnl o same as the regular compiler, (determined previously)
3123 test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler"
3124 : ${XEMACS_CC:="$CC"}
3125
3068 dnl Autodetect dll support 3126 dnl Autodetect dll support
3069 dnl This must come before the detection code for anything that is in a module 3127 dnl This must come before the detection code for anything that is in a module
3070 if test "$with_modules" != "no"; then 3128 if test "$with_modules" != "no"; then
3071 AC_CHECKING(for module support) 3129 AC_CHECKING(for module support)
3072 3130
3119 XE_DIE("Required module support cannot be provided.") 3177 XE_DIE("Required module support cannot be provided.")
3120 else 3178 else
3121 echo " No module support." 3179 echo " No module support."
3122 fi 3180 fi
3123 with_modules=no 3181 with_modules=no
3124 MOD_CC=${CC} 3182 MOD_CC="$XEMACS_CC"
3125 MODCFLAGS="\$(CFLAGS) -I../../src -I\$(srcdir)/../../src" 3183 MODCFLAGS="\$(CFLAGS) -I../../src -I\$(srcdir)/../../src"
3126 INSTALLPATH="" 3184 INSTALLPATH=""
3127 MOD_INSTALL_PROGRAM="true" 3185 MOD_INSTALL_PROGRAM="true"
3128 OBJECT_TO_BUILD="\$(MODNAME).o" 3186 OBJECT_TO_BUILD="\$(MODNAME).o"
3129 fi 3187 fi
3268 fi 3326 fi
3269 save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs" 3327 save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs"
3270 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) 3328 AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
3271 LIBS="$save_LIBS" 3329 LIBS="$save_LIBS"
3272 XE_APPEND(modules/ldap, MAKE_SUBDIR) 3330 XE_APPEND(modules/ldap, MAKE_SUBDIR)
3331 need_modules_common=yes
3273 if test "$with_modules" = "yes"; then 3332 if test "$with_modules" = "yes"; then
3274 XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR) 3333 XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR)
3275 fi 3334 fi
3276 fi 3335 fi
3277 AC_SUBST(ldap_libs) 3336 AC_SUBST(ldap_libs)
3302 with_postgresqlv7=yes; 3361 with_postgresqlv7=yes;
3303 AC_DEFINE(HAVE_POSTGRESQLV7)]) 3362 AC_DEFINE(HAVE_POSTGRESQLV7)])
3304 AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file") 3363 AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
3305 XE_PREPEND(-lpq, postgresql_libs) 3364 XE_PREPEND(-lpq, postgresql_libs)
3306 XE_APPEND(modules/postgresql, MAKE_SUBDIR) 3365 XE_APPEND(modules/postgresql, MAKE_SUBDIR)
3366 need_modules_common=yes
3307 if test "$with_modules" = "yes"; then 3367 if test "$with_modules" = "yes"; then
3308 XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR) 3368 XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR)
3309 fi 3369 fi
3310 elif test "$with_postgresql" = "yes"; then 3370 elif test "$with_postgresql" = "yes"; then
3311 XE_DIE("Required PostgreSQL support cannot be provided. Check --site-prefixes.") 3371 XE_DIE("Required PostgreSQL support cannot be provided. Check --site-prefixes.")
3886 3946
3887 dnl ---------------------------------------------------------------- 3947 dnl ----------------------------------------------------------------
3888 dnl Check for POSIX functions. 3948 dnl Check for POSIX functions.
3889 dnl ---------------------------------------------------------------- 3949 dnl ----------------------------------------------------------------
3890 3950
3891 AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror symlink tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask) 3951 AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror symlink tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask wcslen wcscmp)
3892 3952
3893 dnl getaddrinfo() is borked under hpux11 3953 dnl getaddrinfo() is borked under hpux11
3894 if test "$ac_cv_func_getaddrinfo" != "no" ; then 3954 if test "$ac_cv_func_getaddrinfo" != "no" ; then
3895 case "$opsys" in 3955 case "$opsys" in
3896 hpux11 ) 3956 hpux11 )
4566 done 4626 done
4567 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR) 4627 AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
4568 AC_SUBST(MAKE_SUBDIR) 4628 AC_SUBST(MAKE_SUBDIR)
4569 AC_SUBST(SUBDIR_MAKEFILES) 4629 AC_SUBST(SUBDIR_MAKEFILES)
4570 4630
4571 dnl Make s&m symlinks in the src directory, for config.h 4631 dnl Make s&m symlinks in the src directory, for config.h.
4572 for dir in src/s src/m; do 4632 for dir in src/s src/m; do
4573 if test ! -d "$dir" ; then 4633 if test ! -d "$dir" ; then
4574 echo Making symbolic link to "$srcdir/$dir" 4634 echo Making symbolic link to "$srcdir/$dir"
4575 ${LN_S} "$srcdir/$dir" "$dir" 4635 ${LN_S} "$srcdir/$dir" "$dir"
4576 fi 4636 fi
4577 done 4637 done
4638
4639 dnl Also make modules/common link if needed for the module Makefiles.
4640 if test "$need_modules_common" = "yes"; then
4641 for dir in modules/common; do
4642 if test ! -d "$dir" ; then
4643 echo Making symbolic link to "$srcdir/$dir"
4644 ${LN_S} "$srcdir/$dir" "$dir"
4645 fi
4646 done
4647 fi
4578 4648
4579 if test "$extra_verbose" = "yes"; then 4649 if test "$extra_verbose" = "yes"; then
4580 echo "" 4650 echo ""
4581 PRINT_VAR(extra_objs 4651 PRINT_VAR(extra_objs
4582 c_switch_general c_switch_window_system c_switch_all 4652 c_switch_general c_switch_window_system c_switch_all
4804 AC_SUBST(native_sound_lib) 4874 AC_SUBST(native_sound_lib)
4805 AC_SUBST(sound_cflags) 4875 AC_SUBST(sound_cflags)
4806 AC_SUBST(RANLIB) 4876 AC_SUBST(RANLIB)
4807 AC_SUBST(dynodump_arch) 4877 AC_SUBST(dynodump_arch)
4808 4878
4809 dnl Support for using a different compiler for xemacs itself.
4810 dnl Useful for building XEmacs with a C++ compiler.
4811 dnl For example, `configure --compiler=gcc --xemacs-compiler=g++
4812
4813 dnl The compiler used to build xemacs, as opposed to the compiler
4814 dnl used by configure and lib-src, is determined from the following
4815 dnl sources, in order of priority:
4816 dnl o --xemacs-compiler configure flag
4817 dnl o XEMACS_CC environment variable
4818 dnl o same as the regular compiler, (determined previously)
4819 test -n "$xemacs_compiler" && XEMACS_CC="$xemacs_compiler"
4820 : ${XEMACS_CC:="$CC"}
4821 AC_SUBST(XEMACS_CC) 4879 AC_SUBST(XEMACS_CC)
4822 4880
4823 dnl The default is yes 4881 dnl The default is yes
4824 if test "$with_prefix" = "yes"; then 4882 if test "$with_prefix" = "yes"; then
4825 AC_DEFINE(PREFIX_USER_DEFINED) 4883 AC_DEFINE(PREFIX_USER_DEFINED)
4926 if test -n "$machfile" 4984 if test -n "$machfile"
4927 then echo " Machine description file: \`$machfile'" 4985 then echo " Machine description file: \`$machfile'"
4928 else echo " Not using any machine description file" 4986 else echo " Not using any machine description file"
4929 fi 4987 fi
4930 4988
4931 echo " Compiler: $CC $CFLAGS" 4989 echo " Compiler: $XEMACS_CC $CFLAGS"
4932 echo " Relocating allocator for buffers: $rel_alloc" 4990 echo " Relocating allocator for buffers: $rel_alloc"
4933 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" 4991 echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
4934 case "$ld_switch_site" in 4992 case "$ld_switch_site" in
4935 *nocombreloc*) echo " Linking with \`-z nocombreloc'. 4993 *nocombreloc*) echo " Linking with \`-z nocombreloc'.
4936 - Consider configuring with --pdump." ;; 4994 - Consider configuring with --pdump." ;;
5113 test -n "$exec_prefix" && 5171 test -n "$exec_prefix" &&
5114 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'` 5172 exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e 's,\([[^/]]\)/*$,\1,'`
5115 5173
5116 dnl Build Makefile.in's from Makefile.in.in's 5174 dnl Build Makefile.in's from Makefile.in.in's
5117 dnl except ./Makefile from $srcdir/Makefile.in 5175 dnl except ./Makefile from $srcdir/Makefile.in
5176 dnl src/Makefile.in will have src/depend appended to it;
5177 dnl module Makefiles will have the common text in
5178 dnl modules/common/Makefile.common appended.
5118 5179
5119 for file in $internal_makefile_list; do 5180 for file in $internal_makefile_list; do
5120 test "$file" = src/Makefile.in && \ 5181 case $file in
5121 file="src/Makefile.in:src/Makefile.in.in:src/depend" 5182 src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;;
5183 modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;;
5184 esac
5122 XE_APPEND($file, ac_output_files) 5185 XE_APPEND($file, ac_output_files)
5123 done 5186 done
5124 ac_output_files="$ac_output_files src/paths.h lib-src/config.values" 5187 ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
5125 test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files) 5188 test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files)
5126 5189