X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=2d1847b215f5303ed1f9a77f95207ee1e6e4fb03;hb=4bc723678c10c97b952b090613f5664878ea3d31;hp=4135e3829719de733332688cfe9df58991294556;hpb=de1ec4b272dfa3f9ef2c9ae28a9ba67170d24da5;p=chise%2Fxemacs-chise.git.1 diff --git a/configure.in b/configure.in index 4135e38..2d1847b 100644 --- a/configure.in +++ b/configure.in @@ -348,6 +348,7 @@ with_site_lisp='no' with_site_modules='yes' with_menubars='' with_scrollbars='' +dnl can't turn off widgets here because of systems where they are demanded with_widgets='' with_dialogs='' with_file_coding='' @@ -493,6 +494,9 @@ while test $# != 0; do with_xfs | \ with_i18n3 | \ with_mule | \ + with_utf_2000 | \ + with_chise | \ + with_text_coding| \ with_file_coding| \ with_canna | \ with_wnn | \ @@ -1451,9 +1455,14 @@ case "$canonical" in esac case "$canonical" in - *-solaris* ) + *-solaris* ) opsys=sol2 - os_release=`uname -r | sed -e 's/^\([[0-9]]\)\.\([[0-9]]\).*/\1\2/'` + os_release_major=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\1/'` + os_release_minor=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\2/'` + case "$os_release_minor" in [[0-9]]) + os_release_minor="0${os_release_minor}";; + esac + os_release="${os_release_major}${os_release_minor}" AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;; dnl The last Sun386 ran 4.0. @@ -1703,7 +1712,7 @@ case "$opsys" in sol2) AC_DEFINE(__EXTENSIONS__) dnl Solaris 2 before 2.5 had some bugs with feature test macro interaction. - if test "$os_release" -ge 55; then + if test "$os_release" -ge 505; then AC_DEFINE(_XOPEN_SOURCE,500) AC_DEFINE(_XOPEN_SOURCE_EXTENDED) fi ;; @@ -1724,14 +1733,19 @@ return 11; return 12; #elif defined __USLC__ && defined __SCO_VERSION__ return 13; +#elif defined __INTEL_COMPILER +return 14; #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 ;; + 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 ;; + 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes + dnl Newer versions of icc claim to be GCC + GCC=no ;; esac]) @@ -1950,6 +1964,8 @@ if test "$cflags_specified" = "no"; then CFLAGS="-O3" elif test "$CC" = "xlc"; then CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000" + elif test "$__ICC" = "yes"; then + CFLAGS="-g -O3 -Ob2 -Wall -W1" dnl ### Add optimal CFLAGS support for other compilers HERE! else CFLAGS="-O" ;dnl The only POSIX-approved flag @@ -2301,6 +2317,7 @@ if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac done dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available + dnl #### this test always fails here as need_motif is null if test "$opsys $need_motif" = "sol2 yes"; then xe_runpath_dir="/opt/SUNWdt/lib"; eval "$xe_add_unique_runpath_dir"; @@ -2563,7 +2580,7 @@ fi dnl Link with "-z ignore" on Solaris if supported if test "$opsys" = "sol2"; then - if test "$os_release" -ge 56; then + if test "$os_release" -ge 506; then AC_MSG_CHECKING(for \"-z ignore\" linker flag) case "`ld -h 2>&1`" in *-z\ ignore\|record* ) AC_MSG_RESULT(yes) @@ -2968,7 +2985,7 @@ if test "$with_msw" != "no"; then XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR) fi - install_pp="$blddir/lib-src/installexe.sh" + install_pp="$srcdir/lib-src/installexe.sh" XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool, libs_system) test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto) if test "$window_system" != x11; then @@ -3570,15 +3587,27 @@ fi dnl "$with_x11" = "yes" dnl Finish ensuring that we have values for the various toolkit items. dnl Not all toolkits support all widgets -dnl if Motif is available we use it for the dialog boxes. + +dnl Avoid using Motif :-( +case "$opsys" in + *linux* ) lucid_prefers_motif = "no" ;; + * ) lucid_prefers_motif = "yes" ;; +esac case "$with_menubars" in "" | "yes" | "athena" ) with_menubars="lucid" ;; esac case "$with_dialogs" in "" | "yes" | "lucid" ) - if test "$have_motif" = "yes"; then with_dialogs="motif" - elif test "$have_xaw" = "yes"; then with_dialogs="athena" - else with_dialogs=no + if test "$lucid_prefers_motif" = "yes"; then + if test "$have_motif" = "yes"; then with_dialogs="motif" + elif test "$have_xaw" = "yes"; then with_dialogs="athena" + else with_dialogs=no + fi + else + if test "$have_xaw" = "yes"; then with_dialogs="athena" + elif test "$have_motif" = "yes"; then with_dialogs="motif" + else with_dialogs=no + fi fi ;; esac case "$with_scrollbars" in "" | "yes" ) @@ -3586,9 +3615,16 @@ case "$with_scrollbars" in "" | "yes" ) esac case "$with_widgets" in "yes" | "lucid") - if test "$have_motif" = "yes"; then with_widgets="motif" - elif test "$have_xaw" = "yes"; then with_widgets="athena" - else with_widgets=no + if test "$lucid_prefers_motif" = "yes"; then + if test "$have_motif" = "yes"; then with_widgets="motif" + elif test "$have_xaw" = "yes"; then with_widgets="athena" + else with_widgets=no + fi + else + if test "$have_xaw" = "yes"; then with_widgets="athena" + elif test "$have_motif" = "yes"; then with_widgets="motif" + else with_widgets=no + fi fi ;; "" ) with_widgets=no ;; @@ -3721,16 +3757,59 @@ if test "$with_file_coding" = "yes" && test "$with_mule" = "no"; then XE_ADD_OBJS(file-coding.o) fi +test -z "$with_chise" && with_chise=yes +if test "$with_chise" = "yes"; then + with_mule=yes + with_utf_2000=yes + with_text_coding=yes +fi + if test "$with_mule" = "yes" ; then AC_CHECKING(for Mule-related features) AC_DEFINE(MULE) - AC_DEFINE(FILE_CODING) - XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o) + dnl Autodetect chise + chise_includes_found=no + if test "$with_chise" != "no"; then + AC_CHECK_HEADER(chise.h, ,with_chise=no) + fi + if test "$chise_includes_found" = "no" -a "$with_chise" != "no" -a \ + -d "/usr/local/chise/include"; then + save_c_switch_site="$c_switch_site" + c_switch_site="$c_switch_site -I/usr/local/chise/include" + AC_CHECK_HEADER(chise.h,chise_includes_found=yes) + if test "$chise_includes_found" != "yes"; then + c_switch_site="$save_c_switch_site" + with_chise="no" + fi + fi + + test -z "$with_chise" && with_chise=yes + if test "$with_chise" = "yes"; then + AC_DEFINE(HAVE_CHISE) + AC_DEFINE(HAVE_LIBCHISE) + XE_PREPEND(-lchise, libs_x) + fi + + AC_DEFINE(FILE_CODING) + XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o) + if test "$with_utf_2000" = "yes" && test "$with_text_coding" = "yes"; then + AC_DEFINE(TEXT_CODING) + XE_ADD_OBJS(text-coding.o) + else + XE_ADD_OBJS(file-coding.o) + fi dnl Use -lintl to get internationalized strerror for Mule AC_CHECK_HEADERS(libintl.h) AC_CHECK_LIB(intl, strerror) + if test "$with_utf_2000" = "yes" ; then + AC_DEFINE(CHAR_IS_UCS4) + AC_DEFINE(UTF2000) + with_wnn=no + with_wnn6=no + fi + AC_CHECKING(for Mule input methods) dnl Do we have the XmIm* routines? And if so, do we want to use them? dnl XIM seems to be flaky except on Solaris... @@ -3739,7 +3818,10 @@ if test "$with_mule" = "yes" ; then AC_CHECKING(for XIM) AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no) dnl XIM + Lesstif is not (yet?) usable - if test "$have_motif $have_lesstif" = "yes no"; then + dnl Only use Motif if linking Motif anyway, or don't have xlib XIM + if test "$need_motif $have_lesstif" = "yes no"; then + AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) + elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) fi ;; esac @@ -4150,17 +4232,25 @@ if test "$with_native_sound" != "no"; then dnl Autodetect Sun native sound from SUNWaudmo package if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then - sound_found=yes - XE_ADD_OBJS(sunplay.o) - if test -d "/usr/demo/SOUND/include" - then sound_cflags="-I/usr/demo/SOUND/include" - else sound_cflags="-I/usr/demo/SOUND" + if test -d "/usr/demo/SOUND/include/multimedia"; then + sun_sound_cflags="-I/usr/demo/SOUND/include" + elif test -d "/usr/demo/SOUND/multimedia"; then + sun_sound_cflags="-I/usr/demo/SOUND" fi - if test -z "$native_sound_lib" ; then - if test -r "/usr/demo/SOUND/lib/libaudio.a" - then native_sound_lib="/usr/demo/SOUND/lib/libaudio.a" - else native_sound_lib="/usr/demo/SOUND/libaudio.a" - fi + + if test -n "$native_sound_lib"; then + sun_sound_lib="$native_sound_lib" + elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then + sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a" + elif test -r "/usr/demo/SOUND/libaudio.a"; then + sun_sound_lib="/usr/demo/SOUND/libaudio.a" + fi + + if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then + native_sound_lib="$sun_sound_lib" + sound_cflags="$sun_sound_cflags" + sound_found=yes + XE_ADD_OBJS(sunplay.o) fi fi @@ -4471,6 +4561,9 @@ if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ != "no no no"; then AC_DEFINE(HAVE_DATABASE) XE_ADD_OBJS(database.o) + if test "$with_utf_2000" = "yes" -a "$with_chise" != "yes" ; then + AC_DEFINE(HAVE_CHISE) + fi fi dnl Socks support @@ -4970,6 +5063,73 @@ else echo " Not using any machine description file" fi echo " Compiler: $CC $CFLAGS" +dnl Let's save some helpful-for-debugging info like compiler and libc versions.. +dnl First, see if it's gcc - the same check works everyplace... +case "$CC" in + gcc*) echo " Compiler version: `$CC --version | head -1`" + echo " Compiler specs file: `$CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | head -1`" + ;; +dnl non-gcc machine-specific magic - contributions welcome + *) case "$canonical" in + *-*-aix* ) + dnl Yes, it's this ugly for AIX... + realcc=`which $CC` + dnl Might be a symlink created by replaceCset command + if test -L $realcc ; then + ccdir=`dirname $realcc` + ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'` + dnl This doesn't handle ../../xlc type stuff, but I've not seen one... + case $ccprog in + */*) realcc=$ccprog;; + *) realcc=$ccdir/$ccprog;; + esac + fi + lpp=`lslpp -wqc $realcc | cut -f2 -d:` + if test ! -z "$lpp" ; then + lppstr=`lslpp -Lqc $lpp` + lpplev=`echo "$lppstr" | cut -f3 -d:` + lppdesc=`echo "$lppstr" | cut -f8 -d:` + fi + if test ! -z "$lpplev" ; then + echo " Compiler version: $lpp $lpplev - $lppdesc" + else + echo " Compiler version: (unknown version)" + fi + ;; + + *-*-solaris*) + ccvers=`$CC -V 2>&1 | head -1` + if test ! -z "$ccvers" ; then + echo " Compiler version: $ccvers" + fi + ;; + + alpha*-dec-osf*) + ccvers=`$CC -V | tr '\n' ' '` + if test ! -z "$ccvers" ; then + echo " Compiler version: $ccvers" + fi + ;; + + mips-sgi-irix*) + ccvers=`$CC -version` + if test ! -z "$ccvers" ; then + echo " Compiler version: $ccvers" + fi + ;; + + dnl Intel C++ Compiler on Linux + i[[3-9]]86-pc-linux) + ccvers=`$CC -V 2>&1 | sed -n 's@^Intel.*Version @@'p` + if test ! -z "$ccvers" ; then + echo " Compiler version: $ccvers" + fi + ;; + + *) echo " Compiler version: $CC on $canonical";; + esac +esac + echo " Relocating allocator for buffers: $rel_alloc" echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" case "$ld_switch_site" in @@ -4977,6 +5137,45 @@ case "$ld_switch_site" in - Consider configuring with --pdump." ;; esac +dnl Now get the libc version - contributions welcome +case "$canonical" in + *-*-linux*) + if test -f /etc/redhat-release ; then + echo " libc: `rpm -q glibc`"; +dnl need a Debian and Suse check here... + else + echo "Need to guess glibc1/2/etc here"; + fi + ;; + + *-*-aix*) + echo " libc: bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`" + ;; + + *-*-solaris*) + libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'` + echo " libc: SUNWcsl $libc" + + ;; + + mips-sgi-irix*) + echo " IRIX version: `uname -sRm`'" + ;; + + + alpha*-dec-osf*) + dnl Another ugly case + (cd /usr/.smdb.; + libc=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','` + echo " libc: $libc" + + ) + ;; + + *) echo " libc: system-provided libc on $canonical" ;; +esac + + echo " Window System:" if test "$with_msw" = "yes"; then @@ -4998,6 +5197,9 @@ if test "$with_x11" = "yes"; then fi if test "$need_motif" = "yes" ; then echo " Compiling in support for Motif." + if test "$have_lesstif" = "yes"; then + echo " - Using LessTif implementation." + fi echo " *WARNING* Many versions of Motif are buggy, requiring workarounds." echo " You are likely to experience slow redisplay." echo " You may need to install vendor patches to Motif." @@ -5105,8 +5307,11 @@ if test "$with_postgresql" = yes; then fi echo " -Internationalization:" +Multiscriptization / Multilingualization / Internationalization:" test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)." +test "$with_chise" = yes && echo " Using CHISE (CHaracter Information Service Environment) support." +test "$with_utf_2000" = yes && echo " Using UTF-2000 (UTF-8) buffer/string representation." +test "$with_text_coding" = yes && echo " Compiling in support for text coding." test "$with_file_coding" = yes && echo " Compiling in support for file coding." test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)." test "$with_xim" = motif && echo " - Using Motif to provide XIM support."