diff options
author | Werner Koch <wk@gnupg.org> | 1998-01-26 23:09:01 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 1998-01-26 23:09:01 +0100 |
commit | b113394658bbaa292ca8f6e9c1c4382e2f4235cd (patch) | |
tree | 4ad41d5d7954c81676ae79d38679601b43273ec6 /configure.in | |
parent | rel 0.2.0 (diff) | |
download | gnupg2-b113394658bbaa292ca8f6e9c1c4382e2f4235cd.tar.xz gnupg2-b113394658bbaa292ca8f6e9c1c4382e2f4235cd.zip |
added initial i18n stuff
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 300 |
1 files changed, 289 insertions, 11 deletions
diff --git a/configure.in b/configure.in index 39e87761b..b9b8ccdc0 100644 --- a/configure.in +++ b/configure.in @@ -8,12 +8,27 @@ AC_CONFIG_AUX_DIR(scripts) AC_CONFIG_HEADER(config.h) +if test "x$exec_prefix" = xNONE ; then + if test "x$prefix" = xNONE ; then + g10_prefix="$ac_default_prefix" + else + g10_prefix="$prefix" + fi +else + g10_prefix="$exec_prefix" +fi + + VERSION=`cat $srcdir/VERSION` PACKAGE=g10 +ALL_LINGUAS="de" +G10_LOCALEDIR="$g10_prefix/share/locale" AC_SUBST(VERSION) AC_SUBST(PACKAGE) +AC_SUBST(G10_LOCALEDIR) AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(G10_LOCALEDIR, "$G10_LOCALEDIR") AC_ARG_ENABLE(m-debug, [ --enable-m-debug Enable debugging of memory allocation]) @@ -22,6 +37,250 @@ if test "$enableval" = y || test "$enableval" = yes; then fi CFLAGS="-g -Wall" +g10_ln_sources= +g10_ln_dests= + + + +dnl BEGIN=========================== +dnl FIXME: move this to aclocal.m4 +AC_PREREQ(2.5) + +AC_DEFUN(md_TYPE_PTRDIFF_T, + [AC_CACHE_CHECK([for ptrdiff_t], ac_cv_type_ptrdiff_t, + [AC_TRY_COMPILE(stddef.h, [ptrdiff_t p], ac_cv_type_ptrdiff_t=yes, + ac_cv_type_ptrdiff_t=no)]) + if test $ac_cv_type_ptrdiff_t = yes; then + AC_DEFINE(HAVE_PTRDIFF_T) + fi +]) + +AC_DEFUN(md_PATH_PROG, + [AC_PATH_PROG($1,$2,$3)dnl + if echo $$1 | grep openwin > /dev/null; then + echo "WARNING: Do not use OpenWin's $2. (Better remove it.) >&AC_FD_MSG" + ac_cv_path_$1=$2 + $1=$2 + fi +]) + + +dnl --------------------------------------------------------- ## +dnl Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ## +dnl substitution. ## +dnl --------------------------------------------------------- ## + +AC_DEFUN(fp_PROG_INSTALL, +[AC_PROG_INSTALL +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755' +AC_SUBST(INSTALL_SCRIPT)dnl +]) + +dnl Check NLS options + +AC_DEFUN(ud_LC_MESSAGES, + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], ud_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], + ud_cv_val_LC_MESSAGES=yes, ud_cv_val_LC_MESSAGES=no)]) + if test $ud_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES) + fi + fi]) + +AC_DEFUN(ud_WITH_NLS, + [AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + nls_cv_use_nls=$enableval, nls_cv_use_nls=yes) + AC_MSG_RESULT($nls_cv_use_nls) + + dnl If we use NLS figure out what method + if test "$nls_cv_use_nls" = "yes"; then + AC_DEFINE(ENABLE_NLS) + AC_MSG_CHECKING([for explicitly using GNU gettext]) + AC_ARG_WITH(gnu-gettext, + [ --with-gnu-gettext use the GNU gettext library], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + if test "$nls_cv_force_use_gnu_gettext" = "yes"; then + nls_cv_use_gnu_gettext=yes + else + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If gettext or catgets are available (in this order) we + dnl use this. Else we have to fall back to GNU NLS library. + AC_CHECK_LIB(intl, main) + AC_CHECK_LIB(i, main) + CATOBJEXT=NONE + AC_CHECK_FUNC(gettext, + [AC_DEFINE(HAVE_GETTEXT) + md_PATH_PROG(MSGFMT, msgfmt, no)dnl + if test "$MSGFMT" != "no"; then + AC_CHECK_FUNCS(dcgettext) + md_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + md_PATH_PROG(XGETTEXT, xgettext, xgettext) + CATOBJEXT=.mo + INSTOBJEXT=.mo + DATADIRNAME=lib + fi]) + + if test "$CATOBJEXT" = "NONE"; then + dnl No gettext in C library. Try catgets next. + AC_CHECK_FUNC(catgets, + [AC_DEFINE(HAVE_CATGETS) + INTLOBJS="\$(CATOBJS)" + AC_PATH_PROG(GENCAT, gencat, no)dnl + if test "$GENCAT" != "no"; then + AC_PATH_PROGS(GMSGFMT, [gmsgfmt msgfmt], msgfmt) + md_PATH_PROG(XGETTEXT, xgettext, xgettext) + CATOBJEXT=.cat + INSTOBJEXT=.cat + DATADIRNAME=lib + INTLDEPS="../intl/libintl.a" + INTLLIBS=$INTLDEPS + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi]) + fi + + if test "$CATOBJEXT" = "NONE"; then + dnl Neither gettext nor catgets in included in the C library. + dnl Fall back on GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + INTLOBJS="\$(GETTOBJS)" + md_PATH_PROG(MSGFMT, msgfmt, msgfmt) + md_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + md_PATH_PROG(XGETTEXT, xgettext, xgettext) + AC_SUBST(MSGFMT) + CATOBJEXT=.gmo + INSTOBJEXT=.mo + DATADIRNAME=share + INTLDEPS="../intl/libintl.a" + INTLLIBS=$INTLDEPS + LIBS=`echo $LIBS | sed -e 's/-lintl//'` + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi + + # We need to process the intl/ and po/ directory. + INTLSUB=intl + POSUB=po + else + DATADIRNAME=share + nls_cv_header_intl=intl/libintl.h + nls_cv_header_libgt=intl/libgettext.h + fi + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLDEPS) + AC_SUBST(INTLLIBS) + AC_SUBST(INTLOBJS) + AC_SUBST(INTLSUB) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +AC_DEFUN(ud_GNU_GETTEXT, + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + + AC_CHECK_HEADERS([limits.h locale.h nl_types.h malloc.h string.h unistd.h values.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp]) + + if test "${ac_cv_func_stpcpy+set}" != "set"; then + AC_CHECK_FUNCS(stpcpy) + fi + if test "${ac_cv_func_stpcpy}" = "yes"; then + AC_DEFINE(HAVE_STPCPY) + fi + + ud_LC_MESSAGES + ud_WITH_NLS + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + dnl Determine which catalog format we have (if any is needed) + dnl For now we know about two different formats: + dnl Linux and the normal X/Open format + test -d intl || mkdir intl + if test "$CATOBJEXT" = ".cat"; then + AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen) + + dnl Transform the SED scripts while copying because some dumb SEDs + dnl cannot handle comments. + sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed + fi + dnl po2tbl.sed is always needed. + sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ + $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed + + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) + +dnl END======================== + dnl some additional macros dnl WK_MSG_PRINT(STRING) @@ -44,8 +303,6 @@ fi ]) - - dnl AC_CANONICAL_SYSTEM AC_MSG_CHECKING(cached information) @@ -91,13 +348,14 @@ dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h) +ud_GNU_GETTEXT + dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T - dnl autoconf doesn't support a default value for AC_C_BIGENDIAN dnl so here is the modified version if test "$cross_compiling" = yes; then @@ -181,8 +439,14 @@ else ac_cv_mpi_config_done="" if test -f $srcdir/mpi/config.links ; then . $srcdir/mpi/config.links + if test "x$g10_ln_sources" = "x"; then + g10_ln_sources="$mpi_ln_src" + g10_ln_dests="$mpi_ln_dst" + else + g10_ln_sources="$g10_ln_sources $mpi_ln_src" + g10_ln_dests="$g10_ln_dests $mpi_ln_dst" + fi ac_cv_mpi_extra_asm_modules="$mpi_extra_modules" - AC_LINK_FILES( ${mpi_ln_src}, ${mpi_ln_dst} ) ac_cv_mpi_config_done="yes" AC_MSG_RESULT(done) else @@ -223,11 +487,25 @@ fi AC_SUBST(CIPHER_EXTRA_OBJS) AC_SUBST(CIPHER_EXTRA_DIST) -AC_OUTPUT([ Makefile \ - util/Makefile \ - mpi/Makefile \ - cipher/Makefile \ - g10/Makefile \ - tools/Makefile \ -], [echo timestamp > stamp-h ] ) +if test "x$g10_ln_sources" = "x"; then + g10_ln_sources="$nls_cv_header_libgt" + g10_ln_dests="$nls_cv_header_intl" +else + g10_ln_sources="$g10_ln_sources $nls_cv_header_libgt" + g10_ln_dests="$g10_ln_dests $nls_cv_header_intl" +fi + +AC_LINK_FILES($g10_ln_sources,$g10_ln_dests) + + +AC_OUTPUT([ +Makefile +intl/Makefile +po/Makefile.in +util/Makefile +mpi/Makefile +cipher/Makefile +g10/Makefile +tools/Makefile +],[echo timestamp >stamp-h; sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]) |