(U+4EFF): Move S1-0167 to JSP-3051.
[chise/xemacs-chise.git.1] / configure.in
index 0e645ae..32fc373 100644 (file)
@@ -494,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        | \
@@ -501,6 +504,7 @@ while test $# != 0; do
        with_workshop   | \
        with_sparcworks | \
        with_tooltalk   | \
+       with_concord    | \
        with_ldap       | \
        with_postgresql | \
        with_pop        | \
@@ -2090,6 +2094,8 @@ else
     *86*    ) dynodump_arch=i386  ;;
     powerpc ) dynodump_arch=ppc   ;;
   esac
+  dnl Dynodump requires the system linker
+  test "$GCC" = "yes" && XE_APPEND(-fno-gnu-linker, ld_switch_site)
 fi
 
 dnl Feed s&m crud to src/Makefile
@@ -2911,7 +2917,7 @@ dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
     esac
   fi
 
-  AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable)
+  AC_CHECK_FUNCS(XConvertCase)
 
   AC_CHECK_HEADERS(X11/Xlocale.h)
 
@@ -3206,63 +3212,33 @@ dnl Autodetect LDAP
 AC_CHECKING(for LDAP)
 test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
 test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
-if test no != "$with_ldap";then
-  if test . != "${ldap_libs+.}";then
-    ldap_libs=
-    AC_CHECK_FUNC(ldap_open,dnl Allow it to be in generic "$LIBS"
-      [with_ldap=yes
-      test yes = "$extra_verbose" &&
-       echo "Setting ldap_libs to $ldap_libs"],dnl
-      [AC_CHECK_LIB(ldap, ldap_open,dnl
-       [with_ldap=yes],dnl
-       [ldap_needs_lber=yes ldap_other_libs=-llber
-dnl This requires `AC_CACHE_VAL' (which is called by `AC_CHECK_LIB')
-dnl to be redefined to ignore cached (shell variable) value, as it is
-dnl done above, because the same variable is used in all
-dnl `AC_CHECK_LIB' expansions in macro invocation below.  Worse, if it
-dnl is not done, there is no portable way to compensate for this
-dnl locally since `unset' command is not supported by all shells.  The
-dnl other solution would be changing `AC_CHECK_LIB' so that cache
-dnl variable name depends on the macro OTHER-LIBRARIES argument.
-       AC_CHECK_LIB(ldap, ldap_open,dnl
-         [with_ldap=yes],dnl
-         [ldap_needs_krb=yes ldap_other_libs="$ldap_other_libs -lkrb"
-         AC_CHECK_LIB(ldap, ldap_open,dnl
-           [with_ldap=yes],dnl
-           [ldap_needs_des=yes ldap_other_libs="$ldap_other_libs -ldes"
-           AC_CHECK_LIB(ldap, ldap_open,dnl
-             [with_ldap=yes],dnl
-             [with_ldap=no],dnl
-             $ldap_other_libs)],dnl
-           $ldap_other_libs)],dnl
-         $ldap_other_libs)])
-      if test yes = "$with_ldap";then
-       if test yes = "$ldap_needs_des";then
-         XE_PREPEND(-ldes, ldap_libs)
-       fi
-       if test yes = "$ldap_needs_krb";then
-         XE_PREPEND(-lkrb, ldap_libs)
-       fi
-       if test yes = "$ldap_needs_lber";then
-         XE_PREPEND(-llber, ldap_libs)
-       fi
-       XE_PREPEND(-lldap, ldap_libs)
-      fi])
-  else
-dnl Allow builder to override "$ldap_libs".
-    save_LIBS="$LIBS" LIBS="$ldap_libs $LIBS"
-    AC_CHECK_FUNC(ldap_open,dnl
-      [with_ldap=yes
-      test yes = "$extra_verbose" &&
-       echo "Setting ldap_libs to $ldap_libs"],dnl
-      [with_ldap=no])
-    LIBS="$save_LIBS"
-  fi
+if test "$with_ldap" != "no"; then
+  AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
+  dnl Check for other libraries we need to link with to get the main routines.
+  test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
+  test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
+  test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) }
+  dnl Recently, we need -lber even though the main routines are elsewhere,
+  dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on.  So just
+  dnl check for that (it's a variable not a fun but that doesn't seem to
+  dnl matter in these checks)  and stick in -lber if so.  Can't hurt (even to
+  dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
+  dnl #### understands LDAP needs to fix this properly.
+  test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }
 fi
 if test "$with_ldap" = "yes"; then
   AC_DEFINE(HAVE_LDAP)
   XE_ADD_OBJS(eldap.o)
-  LIBS="$ldap_libs $LIBS"
+  if test "$with_ldap_des" = "yes" ; then
+    XE_PREPEND(-ldes, LIBS)
+  fi
+  if test "$with_ldap_krb" = "yes" ; then
+    XE_PREPEND(-lkrb, LIBS)
+  fi
+  if test "$with_ldap_lber" = "yes" ; then
+    XE_PREPEND(-llber, LIBS)
+  fi
+  XE_PREPEND(-lldap, LIBS)
   AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
 fi
 
@@ -3622,7 +3598,7 @@ dnl Not all toolkits support all widgets
 
 dnl Avoid using Motif :-(
 case "$opsys" in
-  *linux* | cygwin* )  lucid_prefers_motif="no"  ;;
+  *linux* )  lucid_prefers_motif="no"  ;;
   * )        lucid_prefers_motif="yes" ;;
 esac
 
@@ -3789,16 +3765,82 @@ if test "$with_file_coding" = "yes" && test "$with_mule" = "no"; then
   XE_ADD_OBJS(file-coding.o)
 fi
 
+dnl Autodetect concord
+concord_includes_found=no
+if test "$with_concord" != "no"; then
+   AC_CHECK_HEADER(concord.h, ,with_concord=no)
+fi
+if test "$concord_includes_found" = "no" -a "$with_concord" != "no" -a \
+   -d "/usr/local/concord/include"; then
+  save_c_switch_site="$c_switch_site"
+  c_switch_site="$c_switch_site -I/usr/local/concord/include"
+  AC_CHECK_HEADER(concord.h,concord_includes_found=yes)
+  if test "$concord_includes_found" != "yes"; then
+    c_switch_site="$save_c_switch_site"
+    with_concord="no"
+  fi
+fi
+
+test -z "$with_concord" && with_concord=yes
+if test "$with_concord" = "yes"; then
+  AC_DEFINE(HAVE_CONCORD)
+  XE_PREPEND(-lconcord, libs_x)
+  XE_ADD_OBJS(concord.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...
@@ -4484,24 +4526,6 @@ test "$with_database_gdbm" = "yes" -o \
      "$with_database_dbm"  = "yes" && \
   AC_DEFINE(HAVE_DBM)
 
-dnl Check for u_int*_t typedefs.
-AC_CHECK_TYPE(u_int8_t, uint8_t)
-if test $ac_cv_type_u_int8_t = yes; then
-AC_DEFINE(HAVE_U_INT8_T,1)
-fi
-AC_CHECK_TYPE(u_int16_t, uint16_t)
-if test $ac_cv_type_u_int16_t = yes; then
-AC_DEFINE(HAVE_U_INT16_T,1)
-fi
-AC_CHECK_TYPE(u_int32_t, uint32_t)
-if test $ac_cv_type_u_int32_t = yes; then
-AC_DEFINE(HAVE_U_INT32_T,1)
-fi
-AC_CHECK_TYPE(u_int64_t, uint64_t)
-if test $ac_cv_type_u_int64_t = yes; then
-AC_DEFINE(HAVE_U_INT64_T,1)
-fi
-
 dnl Check for Berkeley DB.
 if test "$with_database_berkdb" != "no"; then
   AC_MSG_CHECKING(for Berkeley db.h)
@@ -4526,22 +4550,14 @@ if test "$with_database_berkdb" != "no"; then
 #ifdef HAVE_INTTYPES_H
 #define __BIT_TYPES_DEFINED__
 #include <inttypes.h>
-#if !HAVE_U_INT8_T
 typedef uint8_t  u_int8_t;
-#endif
-#if !HAVE_U_INT16_T
 typedef uint16_t u_int16_t;
-#endif
-#if !HAVE_U_INT32_T
 typedef uint32_t u_int32_t;
-#endif
 #ifdef WE_DONT_NEED_QUADS
-#if !HAVE_U_INT64_T
 typedef uint64_t u_int64_t;
 #endif
 #endif
 #endif
-#endif
 #include <$header>
 ],[], db_h_file="$header"; break)
         ;;
@@ -4583,6 +4599,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
@@ -5085,8 +5104,8 @@ 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 | sed 1q`"
-        echo "  Compiler specs file:               `$CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | sed 1q`"
+  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
@@ -5117,7 +5136,7 @@ dnl non-gcc machine-specific magic - contributions welcome
        ;;
        
        *-*-solaris*)
-         ccvers=`$CC -V 2>&1 | sed 1q`
+         ccvers=`$CC -V 2>&1 | head -1`
          if test ! -z "$ccvers" ; then
            echo "  Compiler version:                  $ccvers"
          fi
@@ -5324,10 +5343,16 @@ if test "$with_postgresql" = yes; then
   echo "    - Using PostgreSQL header file:  $libpq_fe_h_file"
   test "$with_postgresqlv7" = yes && echo "    - Using PostgreSQL V7 bindings."
 fi
+if test "$with_concord" = yes; then
+  echo "  Compiling in support for CONCORD."
+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."