Merge r21-4-12-chise-0_21-pre9-for-libchise-b1.
[chise/xemacs-chise.git.1] / configure.in
index 0bf8449..bdfc910 100644 (file)
@@ -375,7 +375,8 @@ with_toolbars=""
 with_tty=""
 use_union_type="no"
 with_dnet=""
-pdump="no"
+dnl pdump now defaults by opsys
+pdump=''
 dnl dragndrop is still experimental.  When it is stable, comment out the following line:
 with_dragndrop="no"
 dnl Too annoying, even if mandated by IPv6 (and I'm not even sure of that)
@@ -491,6 +492,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        | \
@@ -1218,7 +1222,6 @@ case "$canonical" in
   *-*-darwin*)
     opsys=darwin
     RANLIB="ranlib -c" dnl Avoids a link error with lwlib-config.c
-    pdump=yes          dnl No "native" working dumper available
     ;;
 
   dnl Data General AViiON Machines
@@ -1573,6 +1576,17 @@ else
   echo "Using configure-time autodetection only."
 fi
 
+dnl --------------------------------------------------------------
+dnl $opsys detection complete; defaults depending on $opsys follow
+dnl --------------------------------------------------------------
+
+if test -z "$pdump"; then
+  case "$opsys" in
+    linux* )      pdump=yes ;;    dnl glibc 2.3.1 seems to hose unexec
+    *-*-darwin* ) pdump=yes ;;    dnl No "native" working dumper available
+    *)            pdump=no ;;
+  esac
+fi
 
 if test -z "$dynamic"; then
   case "$opsys" in
@@ -2925,7 +2939,7 @@ if test "$with_msw" != "no"; then
     fi
 
     install_pp="$blddir/lib-src/installexe.sh"
-    XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
+    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
        window_system=msw
@@ -3680,16 +3694,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...
@@ -3811,7 +3868,7 @@ AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo
 dnl getaddrinfo() is borked under hpux11
 if test "$ac_cv_func_getaddrinfo" != "no" ; then
   case "$opsys" in
-    hpux11 )
+    hpux11* )
       AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.])
       ac_cv_func_getaddrinfo=no
       ;;
@@ -4414,6 +4471,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
@@ -4488,19 +4548,25 @@ dnl executables to fail to run.  Also any tests using AC_TRY_RUN will
 dnl have reported incorrect results.
 AC_TRY_RUN([int main(int c,char *v[]){return 0;}],[:],[
   echo ""
-  echo "*** PANIC *** The C compiler can no longer build working executables."
-  echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
-  echo "*** PANIC *** The most likely reason for this problem is that configure"
-  echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
-  echo "*** PANIC *** found at run time."
-  echo "*** PANIC ***"
-  echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
-  echo "*** PANIC *** On other systems, try telling configure where to find the"
-  echo "*** PANIC *** shared libraries using the --site-runtime-libraries option"
-  echo "*** PANIC ***"
-  echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
-  echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
-  echo "*** PANIC *** on your system.  Don't do that."
+  echo "*** PANIC *** configure forgot how to build working executables!"
+  echo ""
+  echo "*** This is most commonly due to an unforeseen environment, causing"
+  echo "*** configure to incorrectly compute the sequence of libraries to link."
+  echo "*** Please examine the tail of config.log for runtime errors."
+  echo "*** Pay special attention to the -l flags, and perhaps -I and -L."
+  echo "*** Often adding or removing explicit options in the configure"
+  echo "*** invocation can work around this kind of problem.  If so, please"
+  echo "*** report it as a bug to xemacs-beta@xemacs.org."
+  echo "***"
+  echo "*** Other possible causes are inability to write to the file system"
+  echo "*** (bogus permissions or disk full) or a misconfiguration of the dynamic"
+  echo "*** linker.  On Linux, check /etc/ld.conf and rerun ldconfig if"
+  echo "*** necessary.  On other systems, try telling configure where to find"
+  echo "*** the shared libraries using the --site-runtime-libraries option."
+  echo "***"
+  echo "*** Another way to shoot yourself in the foot is to specify"
+  echo "*** --with-FEATURE when FEATURE is not actually installed on your"
+  echo "*** system.  Don't do that."
   exit 1])
 
 dnl Process support
@@ -5029,8 +5095,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."
@@ -5058,7 +5127,13 @@ test "$with_workshop" = yes && echo "  Compiling in support for Sun WorkShop."
 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 "$use_union_type" = yes && echo "  Using the union type for Lisp_Objects."
+if test "$use_union_type" = yes; then
+  echo "  WARNING: ---------------------------------------------------------"
+  echo "  Using the union type for Lisp_Objects."
+  echo "  Union type has been implicated in hard-to-debug runtime crashes."
+  echo "  Do NOT use this build of XEmacs for ordinary work.  See PROBLEMS."
+  echo "  WARNING: ---------------------------------------------------------"
+fi
 test "$pdump" = yes && echo "  Using the new portable dumper."
 test "$debug" = yes && echo "  Compiling in support for extra debugging code."
 test "$usage_tracking" = yes && echo "  Compiling in support for active usage tracking (Sun internal)."