--- 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 + #include + #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 + #include + #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 #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