SHA256
1
0
forked from pool/xemacs
xemacs/xemacs-21.5.34-Xaw3D_I18N.patch

285 lines
9.5 KiB
Diff
Raw Normal View History

---
configure | 146 +++++++++++++++++++++++++++++++++++++++++++++++++-------
configure.ac | 34 +++++++++++++
lwlib/lwlib.h | 4 +
src/config.h.in | 1
4 files changed, 169 insertions(+), 16 deletions(-)
--- configure
+++ configure 2015-05-12 14:39:29.545519118 +0000
@@ -16754,6 +16754,49 @@ fi
if test -n "$athena_lib" -a -n "$athena_h_path"; then
have_xaw=yes
+ have_athena_i18n=unset
+ if test "$athena_variant" = "Xaw3d"; then
+ save_libs_x=$libs_x
+ libs_x="-lXaw3d $libs_x" && if test "$verbose" = "yes"; then echo " Prepending \"-lXaw3d\" to \$libs_x"; fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"international\" resource in Xaw3d SimpleWidget" >&5
+$as_echo_n "checking for \"international\" resource in Xaw3d SimpleWidget... " >&6; }
+
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ #include <string.h>
+ #undef XAW_INTERNATIONALIZATION
+ #include <$athena_h_path/Simple.h>
+ int main(int c, char **v) {
+ int i = simpleWidgetClass->core_class.num_resources;
+ while (i-- > 0)
+ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name,
+ "international"))
+ exit(0);
+ exit(253);}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ./conftest dummy_arg; xaw_intl_status=$?;
+ if test "$xaw_intl_status" = "0"; then
+ have_athena_i18n=yes
+ else
+ have_athena_i18n=no
+ libs_x=$save_libs_x
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_athena_i18n" >&5
+$as_echo "$have_athena_i18n" >&6; }
+ fi
else
have_xaw=no
fi
@@ -16962,6 +17005,10 @@ _ACEOF
if test "$athena_3d" = "yes"; then
$as_echo "#define HAVE_ATHENA_3D 1" >>confdefs.h
+ if test "$have_athena_i18n" = "yes"; then
+ $as_echo "#define HAVE_ATHENA_I18N 1" >>confdefs.h
+
+ fi
fi
;;
esac
@@ -19610,14 +19657,18 @@ $as_echo "" >&6; }
$as_echo "#define HAVE_TTY 1" >>confdefs.h
- if test -z "$with_ncurses"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5
-$as_echo_n "checking for tgetent in -lncurses... " >&6; }
-if ${ac_cv_lib_ncurses_tgetent+:} false; then :
+ cf_tgetent=""
+ if test -z "$with_ncurses"; then
+ with_ncurses=no;
+ for lib in tinfo ncurses ncursesw ; do
+ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5
+$as_echo_n "checking for tgetent in -l$lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lncurses $LIBS"
+LIBS="-l$lib $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19637,42 +19688,105 @@ return tgetent ();
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_ncurses_tgetent=yes
+ eval "$as_ac_Lib=yes"
else
- ac_cv_lib_ncurses_tgetent=no
+ eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5
-$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
-if test "x$ac_cv_lib_ncurses_tgetent" = xyes; then :
- with_ncurses=yes
-else
- with_ncurses=no
+eval ac_res=\$$as_ac_Lib
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+ with_ncurses=yes; cf_tgetent="$lib"; break
fi
+ done
fi
if test "$with_ncurses" = "yes"; then
+ if test x$cf_tgetent = x ; then
+ for lib in tinfo ncurses ncursesw ; do
+ as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_tgetent" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l$lib" >&5
+$as_echo_n "checking for tgetent in -l$lib... " >&6; }
+if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$lib $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$as_ac_Lib=yes"
+else
+ eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+ cf_tgetent="$lib"; break
+fi
+
+ done
+ fi
$as_echo "#define HAVE_NCURSES 1" >>confdefs.h
- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default"
+ if test "$cf_tgetent" = ncursesw; then
+ $as_echo "#define HAVE_NCURSESW 1" >>confdefs.h
+
+ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/curses.h" "ac_cv_header_ncursesw_curses_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncursesw_curses_h" = xyes; then :
+ curses_h_file=ncursesw/curses.h
+fi
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "ncursesw/term.h" "ac_cv_header_ncursesw_term_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncursesw_term_h" = xyes; then :
+ term_h_file=ncursesw/term.h
+fi
+
+
+ else
+ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/curses.h" "ac_cv_header_ncurses_curses_h" "$ac_includes_default"
if test "x$ac_cv_header_ncurses_curses_h" = xyes; then :
curses_h_file=ncurses/curses.h
fi
- ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "ncurses/term.h" "ac_cv_header_ncurses_term_h" "$ac_includes_default"
if test "x$ac_cv_header_ncurses_term_h" = xyes; then :
term_h_file=ncurses/term.h
fi
+ fi
extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then
echo " xemacs will be linked with \"terminfo.o\""
fi
- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi
+ LIBS="-l$cf_tgetent $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-l$cf_tgetent\" to \$LIBS"; fi
if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
save_c_switch_site="$c_switch_site"
--- configure.ac
+++ configure.ac 2015-05-12 00:00:00.000000000 +0000
@@ -4028,6 +4028,37 @@ if test "$with_x11" = "yes" -a "$detect_
dnl Do we actually have a usable Athena widget set? Please?
if test -n "$athena_lib" -a -n "$athena_h_path"; then
have_xaw=yes
+ have_athena_i18n=unset
+ dnl X.org at some point added .international to SimplePart, protected
+ dnl by #ifdef XAW_INTERNATIONALIZATION in Xaw3d (only?). Unfortunately,
+ dnl the distributed headers for Xaw3d don't set this to correspond to
+ dnl the distributed library. (pkg-config does, if present.)
+ if test "$athena_variant" = "Xaw3d"; then
+ save_libs_x=$libs_x
+ XE_PREPEND(-lXaw3d, libs_x)
+ dnl The test below was provided by Ralf Soergel.
+ AC_MSG_CHECKING([for "international" resource in Xaw3d SimpleWidget])
+
+ AC_TRY_RUN([#include <stdlib.h>
+ #include <string.h>
+ #undef XAW_INTERNATIONALIZATION
+ #include <$athena_h_path/Simple.h>
+ int main(int c, char **v) {
+ int i = simpleWidgetClass->core_class.num_resources;
+ while (i-- > 0)
+ if (!strcmp(simpleWidgetClass->core_class.resources[i].resource_name,
+ "international"))
+ exit(0);
+ exit(253);}],
+ [./conftest dummy_arg; xaw_intl_status=$?;
+ if test "$xaw_intl_status" = "0"; then
+ have_athena_i18n=yes
+ else
+ have_athena_i18n=no
+ libs_x=$save_libs_x
+ fi])
+ AC_MSG_RESULT([$have_athena_i18n])
+ fi
else
have_xaw=no
fi
@@ -4163,6 +4194,9 @@ case "$all_widgets" in
if test "$athena_3d" = "yes"; then
AC_DEFINE(HAVE_ATHENA_3D)
+ if test "$have_athena_i18n" = "yes"; then
+ AC_DEFINE(HAVE_ATHENA_I18N)
+ fi
fi
;;
esac
--- lwlib/lwlib.h
+++ lwlib/lwlib.h 2015-05-12 00:00:00.000000000 +0000
@@ -24,6 +24,10 @@ along with the Lucid Widget Library. If
#include <X11/Intrinsic.h>
#include "xt-wrappers.h"
+#ifdef HAVE_ATHENA_I18N
+#define XAW_INTERNATIONALIZATION 1
+#endif
+
#if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA)
#define NEED_MENUBARS
#endif
--- src/config.h.in
+++ src/config.h.in 2015-05-12 00:00:00.000000000 +0000
@@ -860,6 +860,7 @@ things are arranged in config.h.in. In
#undef LWLIB_WIDGETS_MOTIF
#undef LWLIB_WIDGETS_ATHENA
#undef HAVE_ATHENA_3D
+#undef HAVE_ATHENA_I18N
/* Other things that can be disabled by configure. */
#undef HAVE_MENUBARS