diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-08-06 08:38:41 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2012-08-06 08:38:41 +0000 |
commit | 0c53c9b5c5e27c54d13b7e73353393794155cead (patch) | |
tree | 3adbabd8dcceebe7c4acc81544a896fc2455d9dc | |
parent | 39774c337e2a999b87df724bea2d99e8e71a878d (diff) |
lcdf-typetools 2.94
git-svn-id: svn://tug.org/texlive/trunk@27318 c570f23f-e606-0410-a88d-b1316a301751
35 files changed, 1753 insertions, 1500 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README index 164d1efb386..76ae51bc1de 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -70,9 +70,9 @@ kpathsea - maintained here, by us lacheck - checked 25apr11 http://mirror.ctan.org/support/lacheck/lacheck-1.26.tar.gz -lcdf-typetools 2.92 - checked 16aug11 +lcdf-typetools 2.94 - checked 5aug12 http://www.lcdf.org/type/ - http://www.lcdf.org/type/lcdf-typetools-2.92.tar.gz + http://www.lcdf.org/type/lcdf-typetools-2.94.tar.gz makeindexk - maintained here, by us diff --git a/Build/source/texk/lcdf-typetools/NEWS b/Build/source/texk/lcdf-typetools/NEWS index 42cb272b7ed..2813b447abb 100644 --- a/Build/source/texk/lcdf-typetools/NEWS +++ b/Build/source/texk/lcdf-typetools/NEWS @@ -1,5 +1,17 @@ LCDF Typetools NEWS +Version 2.94 3.Aug.2012 + +* More compilation updates. + + +Version 2.93 23.Jul.2012 + +* Correct compilation problem reported by Dennis Veatch. + +* Update OpenType feature, script, and language lists, and some other nits. + + Version 2.92 14.Aug.2011 * Correct horrible x86-64 byte-order issue. Bug reported by Michael Ummels. diff --git a/Build/source/texk/lcdf-typetools/README b/Build/source/texk/lcdf-typetools/README index 767b150e3c7..ef53cede953 100644 --- a/Build/source/texk/lcdf-typetools/README +++ b/Build/source/texk/lcdf-typetools/README @@ -1,4 +1,4 @@ -LCDF-TYPETOOLS 2.92 +LCDF-TYPETOOLS 2.94 =================== USAGE diff --git a/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1 b/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1 index 7cefb03d69e..25e1d7ec834 100644 --- a/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1 +++ b/Build/source/texk/lcdf-typetools/cfftot1/cfftot1.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/configure b/Build/source/texk/lcdf-typetools/configure index fba885fe3f2..00cccdf17d1 100755 --- a/Build/source/texk/lcdf-typetools/configure +++ b/Build/source/texk/lcdf-typetools/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for LCDF typetools for TeX Live 2.92. +# Generated by GNU Autoconf 2.69 for LCDF typetools for TeX Live 2.94. # # Report bugs to <tex-k@tug.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='LCDF typetools for TeX Live' PACKAGE_TARNAME='lcdf-typetools-for-tex-live' -PACKAGE_VERSION='2.92' -PACKAGE_STRING='LCDF typetools for TeX Live 2.92' +PACKAGE_VERSION='2.94' +PACKAGE_STRING='LCDF typetools for TeX Live 2.94' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -636,8 +636,6 @@ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS -FIXLIBC_FALSE -FIXLIBC_TRUE have_kpathsea_FALSE have_kpathsea_TRUE KPATHSEA_RULE @@ -647,6 +645,8 @@ KPATHSEA_INCLUDES texlive_build_FALSE texlive_build_TRUE SELECTED_SUBDIRS +FIXLIBC_FALSE +FIXLIBC_TRUE CXXLD TEMPLATE_OBJS WARNING_CXXFLAGS @@ -1357,7 +1357,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures LCDF typetools for TeX Live 2.92 to adapt to many kinds of systems. +\`configure' configures LCDF typetools for TeX Live 2.94 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1428,7 +1428,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of LCDF typetools for TeX Live 2.92:";; + short | recursive ) echo "Configuration of LCDF typetools for TeX Live 2.94:";; esac cat <<\_ACEOF @@ -1566,7 +1566,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -LCDF typetools for TeX Live configure 2.92 +LCDF typetools for TeX Live configure 2.94 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2385,52 +2385,6 @@ fi } # ac_fn_cxx_check_header_mongrel -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl - # ac_fn_cxx_try_run LINENO # ------------------------ # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes @@ -2519,6 +2473,73 @@ $as_echo "$ac_res" >&6; } } # ac_fn_cxx_check_decl +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* 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 $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -2705,7 +2726,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by LCDF typetools for TeX Live $as_me 2.92, which was +It was created by LCDF typetools for TeX Live $as_me 2.94, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -8097,7 +8118,7 @@ fi # Define the identity of the package. PACKAGE='lcdf-typetools-for-tex-live' - VERSION='2.92' + VERSION='2.94' cat >>confdefs.h <<_ACEOF @@ -13350,7 +13371,7 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags -LCDF_TYPETOOLS_VERSION=2.92 +LCDF_TYPETOOLS_VERSION=2.94 ac_config_headers="$ac_config_headers autoconf.h" @@ -17304,6 +17325,12 @@ fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` @@ -17462,6 +17489,1014 @@ fi fi +for ac_header in fcntl.h unistd.h sys/time.h sys/wait.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <new> works" >&5 +$as_echo_n "checking whether <new> works... " >&6; } +if ${ac_cv_good_new_hdr+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <new> +int +main () +{ + + int a; + int *b = new(&a) int; + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_good_new_hdr=yes +else + ac_cv_good_new_hdr=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_good_new_hdr" >&5 +$as_echo "$ac_cv_good_new_hdr" >&6; } +if test "$ac_cv_good_new_hdr" = yes; then + +$as_echo "#define HAVE_NEW_HDR 1" >>confdefs.h + +fi +for ac_header in new.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "new.h" "ac_cv_header_new_h" "$ac_includes_default" +if test "x$ac_cv_header_new_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NEW_H 1 +_ACEOF + +fi + +done + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + #include <sys/param.h> + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + +$as_echo "#define WORDS_LITTLEENDIAN 1" >>confdefs.h + ;; #( + universal) + +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +need_fixlibc=0 +for ac_func in strerror +do : + ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror" +if test "x$ac_cv_func_strerror" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRERROR 1 +_ACEOF + +else + need_fixlibc=1 +fi +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken strtod" >&5 +$as_echo_n "checking for broken strtod... " >&6; } +if ${ac_cv_broken_strtod+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_broken_strtod=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +#include <stdlib.h> +int main(int c, char **v) { + char s[] = "12 "; + char *endp; + double d = strtod(s, &endp); + return (s + 2) == endp; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_broken_strtod=yes +else + ac_cv_broken_strtod=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_strtod" >&5 +$as_echo "$ac_cv_broken_strtod" >&6; } +if test "x$ac_cv_broken_strtod" = xyes; then + need_fixlibc=1 + +$as_echo "#define HAVE_BROKEN_STRTOD 1" >>confdefs.h + +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +ac_fn_cxx_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "#include <string.h> +" +if test "x$ac_cv_have_decl_strnlen" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRNLEN $ac_have_decl +_ACEOF + +for ac_func in strnlen +do : + ac_fn_cxx_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen" +if test "x$ac_cv_func_strnlen" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRNLEN 1 +_ACEOF + have_strnlen=1 +else + need_fixlibc=1 +fi +done + +if test "x$have_strnlen" = x1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken strnlen" >&5 +$as_echo_n "checking for broken strnlen... " >&6; } +if ${ac_cv_broken_strnlen+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_broken_strnlen=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> +#include <stdio.h> +int main(int c, char **v) { + char s[] = "01234567891"; + return strnlen(s, 10) == 10; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + ac_cv_broken_strnlen=yes +else + ac_cv_broken_strnlen=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_strnlen" >&5 +$as_echo "$ac_cv_broken_strnlen" >&6; } + if test "x$ac_cv_broken_strnlen" = xyes; then + need_fixlibc=1 + +$as_echo "#define HAVE_BROKEN_STRNLEN 1" >>confdefs.h + + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +for ac_func in ctime ftruncate mkstemp sigaction strdup strtoul vsnprintf waitpid +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +ac_fn_c_check_func "$LINENO" "floor" "ac_cv_func_floor" +if test "x$ac_cv_func_floor" = xyes; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floor in -lm" >&5 +$as_echo_n "checking for floor in -lm... " >&6; } +if ${ac_cv_lib_m_floor+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 floor (); +int +main () +{ +return floor (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_floor=yes +else + ac_cv_lib_m_floor=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_m_floor" >&5 +$as_echo "$ac_cv_lib_m_floor" >&6; } +if test "x$ac_cv_lib_m_floor" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +fi + +ac_fn_c_check_func "$LINENO" "fabs" "ac_cv_func_fabs" +if test "x$ac_cv_func_fabs" = xyes; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabs in -lm" >&5 +$as_echo_n "checking for fabs in -lm... " >&6; } +if ${ac_cv_lib_m_fabs+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 fabs (); +int +main () +{ +return fabs (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_fabs=yes +else + ac_cv_lib_m_fabs=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_m_fabs" >&5 +$as_echo "$ac_cv_lib_m_fabs" >&6; } +if test "x$ac_cv_lib_m_fabs" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +fi + + if test x$need_fixlibc = x1; then + FIXLIBC_TRUE= + FIXLIBC_FALSE='#' +else + FIXLIBC_TRUE='#' + FIXLIBC_FALSE= +fi + + + + +for ac_header in inttypes.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" +if test "x$ac_cv_header_inttypes_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_INTTYPES_H 1 +_ACEOF + have_inttypes_h=yes +else + have_inttypes_h=no +fi + +done + +for ac_header in sys/types.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_types_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_TYPES_H 1 +_ACEOF + have_sys_types_h=yes +else + have_sys_types_h=no +fi + +done + + +if test $have_inttypes_h = no -a $have_sys_types_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t typedefs" >&5 +$as_echo_n "checking for uintXX_t typedefs... " >&6; } +if ${ac_cv_uint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then : + ac_cv_uint_t=yes +else + ac_cv_uint_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_uint_t" >&5 +$as_echo "$ac_cv_uint_t" >&6; } +fi +if test $have_inttypes_h = no -a $have_sys_types_h = yes -a "$ac_cv_uint_t" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t typedefs" >&5 +$as_echo_n "checking for u_intXX_t typedefs... " >&6; } +if ${ac_cv_u_int_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then : + ac_cv_u_int_t=yes +else + ac_cv_u_int_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_u_int_t" >&5 +$as_echo "$ac_cv_u_int_t" >&6; } +fi +if test $have_inttypes_h = yes -o "$ac_cv_uint_t" = yes; then + : +elif test "$ac_cv_u_int_t" = yes; then + +$as_echo "#define HAVE_U_INT_TYPES 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +========================================= + +Neither uint32_t nor u_int32_t defined by <inttypes.h> or <sys/types.h>! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. + +=========================================" >&5 +$as_echo "$as_me: WARNING: +========================================= + +Neither uint32_t nor u_int32_t defined by <inttypes.h> or <sys/types.h>! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. + +=========================================" >&2;} + +$as_echo "#define HAVE_FAKE_INT_TYPES 1" >>confdefs.h + +fi + +ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#if HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif + +" +if test "x$ac_cv_type_uintptr_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UINTPTR_T 1 +_ACEOF + + +fi + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 +$as_echo_n "checking size of void *... " >&6; } +if ${ac_cv_sizeof_void_p+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_void_p" = 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 77 "cannot compute sizeof (void *) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_void_p=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 +$as_echo "$ac_cv_sizeof_void_p" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 +$as_echo_n "checking size of unsigned long... " >&6; } +if ${ac_cv_sizeof_unsigned_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_unsigned_long" = 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 77 "cannot compute sizeof (unsigned long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_unsigned_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 +$as_echo "$ac_cv_sizeof_unsigned_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 +$as_echo_n "checking size of unsigned int... " >&6; } +if ${ac_cv_sizeof_unsigned_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_unsigned_int" = 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 77 "cannot compute sizeof (unsigned int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_unsigned_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 +$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int +_ACEOF + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +for ac_header in byteorder.h netinet/in.h sys/param.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ntohs and ntohl are defined" >&5 +$as_echo_n "checking whether ntohs and ntohl are defined... " >&6; } +ac_ntoh_defined=no +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_BYTEORDER_H +# include <byteorder.h> +#elif HAVE_NETINET_IN_H +# include <netinet/in.h> +#elif HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif +#ifdef WIN32 +# ifdef __MSC_VER +# pragma warning (disable: 4290) +# endif +# include <winsock2.h> +#endif + +int +main () +{ +(void) ntohs(0x0020), (void) ntohl(0x03040020); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +ac_ntoh_defined=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test $ac_ntoh_defined = no; then + for ac_header in arpa/inet.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ARPA_INET_H 1 +_ACEOF + have_arpa_inet_h=yes +else + have_arpa_inet_h=no +fi + +done + + if test $have_arpa_inet_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ntohs and ntohl are defined in <arpa/inet.h>" >&5 +$as_echo_n "checking whether ntohs and ntohl are defined in <arpa/inet.h>... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#include <arpa/inet.h> + +int +main () +{ +(void) ntohs(0x0020), (void) ntohl(0x03040020); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define NEED_ARPA_INET_H 1" >>confdefs.h + +ac_ntoh_defined=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +fi +if test $ac_ntoh_defined = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +========================================= + +Cannot find a definition for ntohs and/or ntohl! + +=========================================" >&5 +$as_echo "$as_me: WARNING: +========================================= + +Cannot find a definition for ntohs and/or ntohl! + +=========================================" >&2;} + if test "x$enable_build" != xno; then + as_fn_error $? "exiting" "$LINENO" 5 + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for native WIN32 or MINGW32" >&5 +$as_echo_n "checking for native WIN32 or MINGW32... " >&6; } +if ${kpse_cv_have_win32+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef WIN32 + choke me +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __MINGW32__ + choke me +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + kpse_cv_have_win32=mingw32 +else + kpse_cv_have_win32=native +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + kpse_cv_have_win32=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_win32" >&5 +$as_echo "$kpse_cv_have_win32" >&6; } + +if test "x$kpse_cv_have_win32" != xno; then + LIBS="$LIBS -lwsock32" +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for addressable va_list type" >&5 +$as_echo_n "checking for addressable va_list type... " >&6; } +if ${ac_cv_va_list_addr+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +void f(va_list *) { +} +void g(va_list val) { + f(&val); +} +void h(int a, ...) { + va_list val; + va_start(val, a); + g(val); + va_end(val); +} +int +main () +{ +h(2, 3, 4); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_va_list_addr=yes +else + ac_cv_va_list_addr=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_va_list_addr" >&5 +$as_echo "$ac_cv_va_list_addr" >&6; } +if test "x$ac_cv_va_list_addr" = xyes; then + +$as_echo "#define HAVE_ADDRESSABLE_VA_LIST 1" >>confdefs.h + +fi @@ -18001,7 +19036,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -LCDF typetools for TeX Live config.lt 2.92 +LCDF typetools for TeX Live config.lt 2.94 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -19233,12 +20268,12 @@ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec 5>>config.log $lt_cl_success || as_fn_exit 1 -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_link="./libtool --mode=link --tag=CC $ac_link" +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +ac_link="./libtool --mode=link --tag=CXX $ac_link" ## _KPSE_LIB_FLAGS: Setup kpathsea (-lkpathsea) flags @@ -19294,7 +20329,7 @@ FILE *f = fopen("f", "r") return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO"; then : kpse_cv_kpse_debug=yes else kpse_cv_kpse_debug=no @@ -19332,10 +20367,10 @@ kpse_tfm_format; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_cxx_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - ac_fn_c_check_decl "$LINENO" "kpse_opentype_format" "ac_cv_have_decl_kpse_opentype_format" "#include <kpathsea/kpathsea.h> + ac_fn_cxx_check_decl "$LINENO" "kpse_opentype_format" "ac_cv_have_decl_kpse_opentype_format" "#include <kpathsea/kpathsea.h> " if test "x$ac_cv_have_decl_kpse_opentype_format" = xyes; then : ac_have_decl=1 @@ -19389,7 +20424,7 @@ fi # Check whether --enable-selfauto-set was given. if test "${enable_selfauto_set+set}" = set; then : - enableval=$enable_selfauto_set; : + enableval=$enable_selfauto_set; else enable_selfauto_set=yes fi @@ -19438,1021 +20473,6 @@ fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_link="./libtool --mode=link --tag=CXX $ac_link" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <new> works" >&5 -$as_echo_n "checking whether <new> works... " >&6; } -if ${ac_cv_good_new_hdr+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <new> -int -main () -{ - - int a; - int *b = new(&a) int; - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - ac_cv_good_new_hdr=yes -else - ac_cv_good_new_hdr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_good_new_hdr" >&5 -$as_echo "$ac_cv_good_new_hdr" >&6; } -if test "$ac_cv_good_new_hdr" = yes; then - -$as_echo "#define HAVE_NEW_HDR 1" >>confdefs.h - -fi -for ac_header in new.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> - #include <sys/param.h> - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> - #include <sys/param.h> - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - -$as_echo "#define WORDS_LITTLEENDIAN 1" >>confdefs.h - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_link="./libtool --mode=link --tag=CC $ac_link" - -need_fixlibc=0 -for ac_func in strerror -do : - ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror" -if test "x$ac_cv_func_strerror" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRERROR 1 -_ACEOF - : -else - need_fixlibc=1 -fi -done - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken strtod" >&5 -$as_echo_n "checking for broken strtod... " >&6; } -if ${ac_cv_broken_strtod+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_broken_strtod=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -#include <stdlib.h> -int main(int c, char **v) { - char s[] = "12 "; - char *endp; - double d = strtod(s, &endp); - return (s + 2) == endp; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_broken_strtod=yes -else - ac_cv_broken_strtod=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_strtod" >&5 -$as_echo "$ac_cv_broken_strtod" >&6; } -if test "x$ac_cv_broken_strtod" = xyes; then - need_fixlibc=1 - -$as_echo "#define HAVE_BROKEN_STRTOD 1" >>confdefs.h - -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_link="./libtool --mode=link --tag=CXX $ac_link" - -ac_fn_cxx_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default" -if test "x$ac_cv_have_decl_strnlen" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRNLEN $ac_have_decl -_ACEOF - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_link="./libtool --mode=link --tag=CC $ac_link" - -for ac_func in strnlen -do : - ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen" -if test "x$ac_cv_func_strnlen" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STRNLEN 1 -_ACEOF - have_strnlen=1 -else - need_fixlibc=1 -fi -done - -if test "x$have_strnlen" = x1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken strnlen" >&5 -$as_echo_n "checking for broken strnlen... " >&6; } -if ${ac_cv_broken_strnlen+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_broken_strnlen=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> -#include <stdio.h> -int main(int c, char **v) { - char s[] = "01234567891"; - return strnlen(s, 10) == 10; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_broken_strnlen=yes -else - ac_cv_broken_strnlen=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_broken_strnlen" >&5 -$as_echo "$ac_cv_broken_strnlen" >&6; } - if test "x$ac_cv_broken_strnlen" = xyes; then - need_fixlibc=1 - -$as_echo "#define HAVE_BROKEN_STRNLEN 1" >>confdefs.h - - fi -fi - -for ac_func in ctime ftruncate mkstemp sigaction strdup strtoul vsnprintf waitpid -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -ac_fn_c_check_func "$LINENO" "floor" "ac_cv_func_floor" -if test "x$ac_cv_func_floor" = xyes; then : - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floor in -lm" >&5 -$as_echo_n "checking for floor in -lm... " >&6; } -if ${ac_cv_lib_m_floor+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $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 floor (); -int -main () -{ -return floor (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_floor=yes -else - ac_cv_lib_m_floor=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_m_floor" >&5 -$as_echo "$ac_cv_lib_m_floor" >&6; } -if test "x$ac_cv_lib_m_floor" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 -_ACEOF - - LIBS="-lm $LIBS" - -fi - -fi - -ac_fn_c_check_func "$LINENO" "fabs" "ac_cv_func_fabs" -if test "x$ac_cv_func_fabs" = xyes; then : - : -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabs in -lm" >&5 -$as_echo_n "checking for fabs in -lm... " >&6; } -if ${ac_cv_lib_m_fabs+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $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 fabs (); -int -main () -{ -return fabs (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_fabs=yes -else - ac_cv_lib_m_fabs=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_m_fabs" >&5 -$as_echo "$ac_cv_lib_m_fabs" >&6; } -if test "x$ac_cv_lib_m_fabs" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 -_ACEOF - - LIBS="-lm $LIBS" - -fi - -fi - -for ac_header in unistd.h fcntl.h sys/time.h sys/wait.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test x$need_fixlibc = x1; then - FIXLIBC_TRUE= - FIXLIBC_FALSE='#' -else - FIXLIBC_TRUE='#' - FIXLIBC_FALSE= -fi - - - - -for ac_header in inttypes.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" -if test "x$ac_cv_header_inttypes_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H 1 -_ACEOF - have_inttypes_h=yes -else - have_inttypes_h=no -fi - -done - -for ac_header in sys/types.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_types_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TYPES_H 1 -_ACEOF - have_sys_types_h=yes -else - have_sys_types_h=no -fi - -done - - -if test $have_inttypes_h = no -a $have_sys_types_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t typedefs" >&5 -$as_echo_n "checking for uintXX_t typedefs... " >&6; } -if ${ac_cv_uint_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then : - ac_cv_uint_t=yes -else - ac_cv_uint_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_uint_t" >&5 -$as_echo "$ac_cv_uint_t" >&6; } -fi -if test $have_inttypes_h = no -a $have_sys_types_h = yes -a "$ac_cv_uint_t" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t typedefs" >&5 -$as_echo_n "checking for u_intXX_t typedefs... " >&6; } -if ${ac_cv_u_int_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then : - ac_cv_u_int_t=yes -else - ac_cv_u_int_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_u_int_t" >&5 -$as_echo "$ac_cv_u_int_t" >&6; } -fi -if test $have_inttypes_h = yes -o "$ac_cv_uint_t" = yes; then - : -elif test "$ac_cv_u_int_t" = yes; then - -$as_echo "#define HAVE_U_INT_TYPES 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -========================================= - -Neither uint32_t nor u_int32_t defined by <inttypes.h> or <sys/types.h>! -Assuming \"short\" has 16 bits and \"int\" has 32 bits. - -=========================================" >&5 -$as_echo "$as_me: WARNING: -========================================= - -Neither uint32_t nor u_int32_t defined by <inttypes.h> or <sys/types.h>! -Assuming \"short\" has 16 bits and \"int\" has 32 bits. - -=========================================" >&2;} - -$as_echo "#define HAVE_FAKE_INT_TYPES 1" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#if HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif - -" -if test "x$ac_cv_type_uintptr_t" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINTPTR_T 1 -_ACEOF - - -fi - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if ${ac_cv_sizeof_void_p+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_void_p" = 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 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_VOID_P $ac_cv_sizeof_void_p -_ACEOF - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 -$as_echo_n "checking size of unsigned long... " >&6; } -if ${ac_cv_sizeof_unsigned_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_long" = 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 77 "cannot compute sizeof (unsigned long) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_unsigned_long=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 -$as_echo "$ac_cv_sizeof_unsigned_long" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long -_ACEOF - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 -$as_echo_n "checking size of unsigned int... " >&6; } -if ${ac_cv_sizeof_unsigned_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_unsigned_int" = 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 77 "cannot compute sizeof (unsigned int) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_unsigned_int=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int -_ACEOF - - - - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_link="./libtool --mode=link --tag=CXX $ac_link" - -for ac_header in byteorder.h netinet/in.h sys/param.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ntohs and ntohl are defined" >&5 -$as_echo_n "checking whether ntohs and ntohl are defined... " >&6; } -ac_ntoh_defined=no -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#if HAVE_BYTEORDER_H -# include <byteorder.h> -#elif HAVE_NETINET_IN_H -# include <netinet/in.h> -#elif HAVE_SYS_PARAM_H -# include <sys/param.h> -#endif -#ifdef WIN32 -# ifdef __MSC_VER -# pragma warning (disable: 4290) -# endif -# include <winsock2.h> -#endif - -int -main () -{ -(void) ntohs(0x0020), (void) ntohl(0x03040020); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -ac_ntoh_defined=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test $ac_ntoh_defined = no; then - for ac_header in arpa/inet.h -do : - ac_fn_cxx_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" -if test "x$ac_cv_header_arpa_inet_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ARPA_INET_H 1 -_ACEOF - have_arpa_inet_h=yes -else - have_arpa_inet_h=no -fi - -done - - if test $have_arpa_inet_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ntohs and ntohl are defined in <arpa/inet.h>" >&5 -$as_echo_n "checking whether ntohs and ntohl are defined in <arpa/inet.h>... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#include <arpa/inet.h> - -int -main () -{ -(void) ntohs(0x0020), (void) ntohl(0x03040020); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define NEED_ARPA_INET_H 1" >>confdefs.h - -ac_ntoh_defined=yes -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -if test $ac_ntoh_defined = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -========================================= - -Cannot find a definition for ntohs and/or ntohl! - -=========================================" >&5 -$as_echo "$as_me: WARNING: -========================================= - -Cannot find a definition for ntohs and/or ntohl! - -=========================================" >&2;} - if test "x$enable_build" != xno; then - as_fn_error $? "exiting" "$LINENO" 5 - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_link="./libtool --mode=link --tag=CC $ac_link" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for native WIN32 or MINGW32" >&5 -$as_echo_n "checking for native WIN32 or MINGW32... " >&6; } -if ${kpse_cv_have_win32+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef WIN32 - choke me -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __MINGW32__ - choke me -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - kpse_cv_have_win32=mingw32 -else - kpse_cv_have_win32=native -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - kpse_cv_have_win32=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_have_win32" >&5 -$as_echo "$kpse_cv_have_win32" >&6; } - -if test "x$kpse_cv_have_win32" != xno; then - LIBS="$LIBS -lwsock32" -fi - - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_link="./libtool --mode=link --tag=CXX $ac_link" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for addressable va_list type" >&5 -$as_echo_n "checking for addressable va_list type... " >&6; } -if ${ac_cv_va_list_addr+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdarg.h> -void f(va_list *) { -} -void g(va_list val) { - f(&val); -} -void h(int a, ...) { - va_list val; - va_start(val, a); - g(val); - va_end(val); -} -int -main () -{ -h(2, 3, 4); - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_va_list_addr=yes -else - ac_cv_va_list_addr=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_va_list_addr" >&5 -$as_echo "$ac_cv_va_list_addr" >&6; } -if test "x$ac_cv_va_list_addr" = xyes; then - -$as_echo "#define HAVE_ADDRESSABLE_VA_LIST 1" >>confdefs.h - -fi - - - $as_echo "#define HAVE_PERMSTRING 1" >>confdefs.h @@ -20461,6 +20481,7 @@ $as_echo "#define MMAFM_RUN_MMPFB 1" >>confdefs.h + shell_expand () { val=`eval echo '$'"$1"` while echo "x$val" | fgrep '$' >/dev/null 2>&1; do val=`eval echo "$val"`; done @@ -20641,6 +20662,11 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi + +if test -z "${FIXLIBC_TRUE}" && test -z "${FIXLIBC_FALSE}"; then + as_fn_error $? "conditional \"FIXLIBC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${texlive_build_TRUE}" && test -z "${texlive_build_FALSE}"; then as_fn_error $? "conditional \"texlive_build\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -20650,11 +20676,6 @@ if test -z "${have_kpathsea_TRUE}" && test -z "${have_kpathsea_FALSE}"; then Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${FIXLIBC_TRUE}" && test -z "${FIXLIBC_FALSE}"; then - as_fn_error $? "conditional \"FIXLIBC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files @@ -21051,7 +21072,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by LCDF typetools for TeX Live $as_me 2.92, which was +This file was extended by LCDF typetools for TeX Live $as_me 2.94, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21117,7 +21138,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -LCDF typetools for TeX Live config.status 2.92 +LCDF typetools for TeX Live config.status 2.94 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/texk/lcdf-typetools/configure.ac b/Build/source/texk/lcdf-typetools/configure.ac index 490afd71bb7..fead57d2d39 100644 --- a/Build/source/texk/lcdf-typetools/configure.ac +++ b/Build/source/texk/lcdf-typetools/configure.ac @@ -30,100 +30,9 @@ dnl dnl directory searching dnl +AC_LANG_C AC_HEADER_DIRENT - - -dnl -dnl select programs to be compiled and automatically run -dnl - -m4_include([ac/lcdf-typetools.ac]) - -SELECTED_SUBDIRS= -AC_FOREACH([Kpse_Prog], kpse_lcdf_typetools_progs, - [test "x$enable_[]Kpse_Prog" = xno || SELECTED_SUBDIRS="$SELECTED_SUBDIRS Kpse_Prog" -]) -AC_SUBST(SELECTED_SUBDIRS) - -AC_FOREACH([Kpse_Opt], kpse_otftotfm_auto_opts, - [AS_IF([test "x$enable_auto_]Kpse_Opt[" != xno], - [AC_DEFINE([HAVE_AUTO_]AS_TR_CPP(Kpse_Opt), 1, - [Define to run ]Kpse_Opt[ from otftotfm.])]) -]) - - -dnl -dnl kpathsea -dnl - -dnl The configure option '--enable-texlive-build' is inherited -dnl and automatically enabled, when built as part of TeX Live. - -AM_CONDITIONAL([texlive_build], [test "x$enable_texlive_build" = xyes]) - -AC_ARG_WITH([kpathsea], - AS_HELP_STRING([--without-kpathsea], - [build otftotfm without kpathsea])) - -KPSE_KPATHSEA_FLAGS - -if test "x$enable_build" != xno || test -f config.force; then - -KPSE_ADD_FLAGS([kpathsea]) - -if test "x$with_kpathsea" != xno; then - AC_MSG_CHECKING([for kpathsea headers and library]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <kpathsea/kpathsea.h>]], - [[kpse_tfm_format;]])], - [AC_MSG_RESULT([yes]) - AC_CHECK_DECLS([kpse_opentype_format], , , - [#include <kpathsea/kpathsea.h>])], - [AC_MSG_RESULT([no]) - with_kpathsea=no]) - - if test "x$with_kpathsea" = xno; then - AC_MSG_ERROR([ -========================================= - -I can't find the kpathsea library and/or header files. Tell me where to look -using the --with-kpathsea-libdir=DIR option (library under DIR) and ---with-kpathsea-includes=DIR option (header files under DIR/kpathsea), or -disable kpathsea support using --without-kpathsea. - -=========================================]) - fi - AC_DEFINE(HAVE_KPATHSEA, 1, [Define if you want to use kpathsea.]) -fi - -KPSE_RESTORE_FLAGS - -echo timestamp >config.force -fi - -AM_CONDITIONAL([have_kpathsea], [test "x$with_kpathsea" != xno]) - -AC_ARG_ENABLE(selfauto-set, [ --disable-selfauto-set disable setting SELFAUTO variables from kpsewhich], :, enable_selfauto_set=yes) - -if test "x$enable_selfauto_set" = xyes -a "x$kpathsea" != xno -a "x$enable_texlive_build" != xyes; then - kpsewhich='kpsewhich' - test "x$kpathsea" != xyes -a -x "$kpathsea/bin/kpsewhich" && kpsewhich="$kpathsea/bin/kpsewhich" - SELFAUTOLOC=`$kpsewhich --expand-var='$SELFAUTOLOC' 2>/dev/null` - SELFAUTODIR=`$kpsewhich --expand-var='$SELFAUTODIR' 2>/dev/null` - SELFAUTOPARENT=`$kpsewhich --expand-var='$SELFAUTOPARENT' 2>/dev/null` - if test -z "$SELFAUTODIR"; then - AC_MSG_WARN([ -========================================= - -Could not extract SELFAUTO variables from $kpsewhich. -Either supply the correct PREFIX to --with-kpathsea, or supply ---disable-selfauto-loc. - -=========================================]) - fi - AC_DEFINE_UNQUOTED(SELFAUTOLOC, "$SELFAUTOLOC", [kpsewhich's $SELFAUTOLOC variable]) - AC_DEFINE_UNQUOTED(SELFAUTODIR, "$SELFAUTODIR", [kpsewhich's $SELFAUTODIR variable]) - AC_DEFINE_UNQUOTED(SELFAUTOPARENT, "$SELFAUTOPARENT", [kpsewhich's $SELFAUTOPARENT variable]) -fi +AC_CHECK_HEADERS([fcntl.h unistd.h sys/time.h sys/wait.h]) dnl @@ -138,9 +47,9 @@ AC_CACHE_CHECK([whether <new> works], ac_cv_good_new_hdr, return 0; ], ac_cv_good_new_hdr=yes, ac_cv_good_new_hdr=no)]) if test "$ac_cv_good_new_hdr" = yes; then - AC_DEFINE(HAVE_NEW_HDR, 1, [Define if <new> exists and works.]) + AC_DEFINE([HAVE_NEW_HDR], [1], [Define if <new> exists and works.]) fi -AC_CHECK_HEADERS(new.h unistd.h) +AC_CHECK_HEADERS([new.h]) dnl @@ -158,7 +67,7 @@ dnl AC_LANG_C need_fixlibc=0 -AC_CHECK_FUNCS([strerror], [:], [need_fixlibc=1]) +AC_CHECK_FUNCS([strerror], [], [need_fixlibc=1]) AC_CACHE_CHECK([for broken strtod], [ac_cv_broken_strtod], [AC_TRY_RUN([#include <stdio.h> @@ -172,12 +81,11 @@ int main(int c, char **v) { [ac_cv_broken_strtod=no])]) if test "x$ac_cv_broken_strtod" = xyes; then need_fixlibc=1 - AC_DEFINE(HAVE_BROKEN_STRTOD, 1, [Define if strtod is broken.]) + AC_DEFINE([HAVE_BROKEN_STRTOD], [1], [Define if strtod is broken.]) fi AC_LANG_CPLUSPLUS -AC_CHECK_DECLS([strnlen]) -AC_LANG_C +AC_CHECK_DECLS([strnlen], [], [], [#include <string.h>]) AC_CHECK_FUNCS([strnlen], [have_strnlen=1], [need_fixlibc=1]) if test "x$have_strnlen" = x1; then AC_CACHE_CHECK([for broken strnlen], [ac_cv_broken_strnlen], @@ -193,11 +101,11 @@ int main(int c, char **v) { AC_DEFINE([HAVE_BROKEN_STRNLEN], [1], [Define if strnlen is broken.]) fi fi +AC_LANG_C AC_CHECK_FUNCS([ctime ftruncate mkstemp sigaction strdup strtoul vsnprintf waitpid]) -AC_CHECK_FUNC([floor], [:], [AC_CHECK_LIB(m, floor)]) -AC_CHECK_FUNC([fabs], [:], [AC_CHECK_LIB(m, fabs)]) -AC_CHECK_HEADERS([unistd.h fcntl.h sys/time.h sys/wait.h]) +AC_CHECK_FUNC([floor], [], [AC_CHECK_LIB([m], [floor])]) +AC_CHECK_FUNC([fabs], [], [AC_CHECK_LIB([m], [fabs])]) AM_CONDITIONAL([FIXLIBC], [test x$need_fixlibc = x1]) @@ -317,7 +225,7 @@ dnl is va_list addressable? dnl AC_LANG_CPLUSPLUS -AC_CACHE_CHECK([for addressable va_list type], +AC_CACHE_CHECK([for addressable va_list type], ac_cv_va_list_addr, [AC_TRY_COMPILE([#include <stdarg.h> void f(va_list *) { @@ -337,6 +245,101 @@ fi dnl +dnl select programs to be compiled and automatically run +dnl + +m4_include([ac/lcdf-typetools.ac]) + +SELECTED_SUBDIRS= +AC_FOREACH([Kpse_Prog], kpse_lcdf_typetools_progs, + [test "x$enable_[]Kpse_Prog" = xno || SELECTED_SUBDIRS="$SELECTED_SUBDIRS Kpse_Prog" +]) +AC_SUBST(SELECTED_SUBDIRS) + +AC_FOREACH([Kpse_Opt], kpse_otftotfm_auto_opts, + [AS_IF([test "x$enable_auto_]Kpse_Opt[" != xno], + [AC_DEFINE([HAVE_AUTO_]AS_TR_CPP(Kpse_Opt), 1, + [Define to run ]Kpse_Opt[ from otftotfm.])]) +]) + + +dnl +dnl kpathsea +dnl + +dnl The configure option '--enable-texlive-build' is inherited +dnl and automatically enabled, when built as part of TeX Live. + +AM_CONDITIONAL([texlive_build], [test "x$enable_texlive_build" = xyes]) + +AC_ARG_WITH([kpathsea], + AS_HELP_STRING([--without-kpathsea], + [build otftotfm without kpathsea])) + +KPSE_KPATHSEA_FLAGS + +if test "x$enable_build" != xno || test -f config.force; then + +KPSE_ADD_FLAGS([kpathsea]) + +if test "x$with_kpathsea" != xno; then + AC_MSG_CHECKING([for kpathsea headers and library]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <kpathsea/kpathsea.h>]], + [[kpse_tfm_format;]])], + [AC_MSG_RESULT([yes]) + AC_CHECK_DECLS([kpse_opentype_format], , , + [#include <kpathsea/kpathsea.h>])], + [AC_MSG_RESULT([no]) + with_kpathsea=no]) + + if test "x$with_kpathsea" = xno; then + AC_MSG_ERROR([ +========================================= + +I can't find the kpathsea library and/or header files. Tell me where to look +using the --with-kpathsea-libdir=DIR option (library under DIR) and +--with-kpathsea-includes=DIR option (header files under DIR/kpathsea), or +disable kpathsea support using --without-kpathsea. + +=========================================]) + fi + AC_DEFINE(HAVE_KPATHSEA, 1, [Define if you want to use kpathsea.]) +fi + +KPSE_RESTORE_FLAGS + +echo timestamp >config.force +fi + +AM_CONDITIONAL([have_kpathsea], [test "x$with_kpathsea" != xno]) + +AC_ARG_ENABLE([selfauto-set], + AS_HELP_STRING([--disable-selfauto-set], [disable setting SELFAUTO variables from kpsewhich]), + [], [enable_selfauto_set=yes]) + +if test "x$enable_selfauto_set" = xyes -a "x$kpathsea" != xno -a "x$enable_texlive_build" != xyes; then + kpsewhich='kpsewhich' + test "x$kpathsea" != xyes -a -x "$kpathsea/bin/kpsewhich" && kpsewhich="$kpathsea/bin/kpsewhich" + SELFAUTOLOC=`$kpsewhich --expand-var='$SELFAUTOLOC' 2>/dev/null` + SELFAUTODIR=`$kpsewhich --expand-var='$SELFAUTODIR' 2>/dev/null` + SELFAUTOPARENT=`$kpsewhich --expand-var='$SELFAUTOPARENT' 2>/dev/null` + if test -z "$SELFAUTODIR"; then + AC_MSG_WARN([ +========================================= + +Could not extract SELFAUTO variables from $kpsewhich. +Either supply the correct PREFIX to --with-kpathsea, or supply +--disable-selfauto-loc. + +=========================================]) + fi + AC_DEFINE_UNQUOTED(SELFAUTOLOC, "$SELFAUTOLOC", [kpsewhich's $SELFAUTOLOC variable]) + AC_DEFINE_UNQUOTED(SELFAUTODIR, "$SELFAUTODIR", [kpsewhich's $SELFAUTODIR variable]) + AC_DEFINE_UNQUOTED(SELFAUTOPARENT, "$SELFAUTOPARENT", [kpsewhich's $SELFAUTOPARENT variable]) +fi + + +dnl dnl verbatim portions of the header dnl @@ -344,6 +347,7 @@ AC_DEFINE(HAVE_PERMSTRING, 1, [Define if PermStrings are available.]) AC_DEFINE(MMAFM_RUN_MMPFB, 1, [Define to 0 if you don't want mmafm to run mmpfb when it needs to get an intermediate master conversion program.]) dnl PATHNAME_SEPARATOR? + dnl dnl set path variables dnl diff --git a/Build/source/texk/lcdf-typetools/configure.ac.orig b/Build/source/texk/lcdf-typetools/configure.ac.orig index 8291c068782..d9c25bbf013 100644 --- a/Build/source/texk/lcdf-typetools/configure.ac.orig +++ b/Build/source/texk/lcdf-typetools/configure.ac.orig @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([lcdf-typetools], [2.92]) +AC_INIT([lcdf-typetools], [2.94]) AC_CONFIG_SRCDIR([NEWS]) AM_INIT_AUTOMAKE AM_CONFIG_HEADER([autoconf.h]) @@ -12,10 +12,11 @@ AC_PROG_CPP AC_PROG_CXX AC_PROG_CXXCPP -AC_ARG_ENABLE(warnings, [ --enable-warnings compile with -Wall], -[if test "$enableval" = yes ; then - CFLAGS="$CFLAGS -W -Wall" -fi]) +AC_ARG_ENABLE([warnings], + [AS_HELP_STRING([--enable-warnings], [compile with -W -Wall])], + [if test "$enableval" = yes; then + CFLAGS="$CFLAGS -W -Wall"; CXXFLAGS="$CXXFLAGS -W -Wall" + fi]) dnl AN_MAKEVAR([AR], [AC_PROG_AR]) dnl AN_PROGRAM([ar], [AC_PROG_AR]) @@ -96,135 +97,14 @@ AC_CXX_TEMPLATE_OBJS dnl -dnl directory searching +dnl standard headers +dnl (Though obsolete, AC_HEADER_STC changes the standard includes.) dnl +AC_LANG_C +AC_HEADER_STDC AC_HEADER_DIRENT - - -dnl -dnl select programs to be compiled and automatically run -dnl - -m4_include([m4/lcdf-typetools.m4]) - -SELECTED_SUBDIRS= -AC_FOREACH([Kpse_Prog], kpse_lcdf_typetools_progs, - [test "x$enable_[]Kpse_Prog" = xno || SELECTED_SUBDIRS="$SELECTED_SUBDIRS Kpse_Prog" -]) -AC_SUBST(SELECTED_SUBDIRS) - -AC_FOREACH([Kpse_Opt], kpse_otftotfm_auto_opts, - [AS_IF([test "x$enable_auto_]Kpse_Opt[" != xno], - [AC_DEFINE([HAVE_AUTO_]AS_TR_CPP(Kpse_Opt), 1, - [Define to run ]Kpse_Opt[ from otftotfm.])]) -]) - - -dnl -dnl kpathsea -dnl - -AC_ARG_WITH(kpathsea, [ --with-kpathsea=PREFIX Kpathsea is installed (under PREFIX)], - [kpathsea=$withval], [kpathsea=]) - -KPATHSEA_INCLUDES= -KPATHSEA_LIBS= -KPATHSEA_DEPEND= - -if test "x$kpathsea" != xno; then - SAVE_CPPFLAGS="$CPPFLAGS"; SAVE_LDFLAGS="$LDFLAGS" - if test "x$kpathsea" != x -a "x$kpathsea" != xyes; then - KPATHSEA_INCLUDES="-I$kpathsea/include" - KPATHSEA_LIBS="-L$kpathsea/lib" - else - kpathsea=yes - fi - - dnl check for kpathsea/kpathsea.h - if true; then - CPPFLAGS="$SAVE_CPPFLAGS $KPATHSEA_INCLUDES" - AC_CHECK_HEADER(kpathsea/kpathsea.h, [kpse_header=yes], [kpse_header=no]) - fi - - dnl if not found and kpathsea prefix not set, check /usr/local - if test "x$kpse_header" != xyes -a "x$kpathsea" = xyes -a -r /usr/local/include/kpathsea/tex-file.h; then - KPATHSEA_INCLUDES="-I/usr/local/include" - KPATHSEA_LIBS="-L/usr/local/lib" - CPPFLAGS="$SAVE_CPPFLAGS $KPATHSEA_INCLUDES" - AC_CHECK_HEADER(kpathsea/tex-file.h, [kpse_header=yes], [kpse_header=no]) - fi - - dnl check for -lkpathsea - if true; then - LDFLAGS="$SAVE_LDFLAGS $KPATHSEA_LIBS" - AC_CHECK_LIB(kpathsea, kpse_set_program_name, [kpse_library=yes], [kpse_library=no]) - fi - - dnl bail out if not found - if test "x$kpse_header" != xyes -o "x$kpse_library" != xyes; then - AC_MSG_ERROR([ -========================================= - -I can't find the kpathsea library and/or header files. Tell me where to look -using the --with-kpathsea=PREFIX option (header files should be under -PREFIX/include/kpathsea, and library under PREFIX/lib), or disable support -using --without-kpathsea. - -=========================================]) - fi - - dnl OK, found - AC_DEFINE(HAVE_KPATHSEA, 1, [Define if you want to use kpathsea.]) - if true; then - KPATHSEA_LIBS="$KPATHSEA_LIBS -lkpathsea" - fi - - dnl does it have opentype support? - if false; then - AC_DEFINE(HAVE_DECL_KPSE_OPENTYPE_FORMAT) - else - AC_CHECK_DECLS(kpse_opentype_format, :, :, [#include <kpathsea/kpathsea.h>]) - fi - - CPPFLAGS="$SAVE_CPPFLAGS"; LDFLAGS="$SAVE_LDFLAGS" -fi - -AM_CONDITIONAL([have_kpathsea], [test "x$with_kpathsea" != xno]) -AC_SUBST([KPATHSEA_INCLUDES]) -AC_SUBST([KPATHSEA_LIBS]) -AC_SUBST([KPATHSEA_DEPEND]) - -AC_ARG_ENABLE(selfauto-set, [ --disable-selfauto-set disable setting SELFAUTO variables from kpsewhich], :, enable_selfauto_set=yes) - -if test "x$enable_selfauto_set" = xyes -a "x$kpathsea" != xno; then - kpsewhich='kpsewhich' - test "x$kpathsea" != xyes -a -x "$kpathsea/bin/kpsewhich" && kpsewhich="$kpathsea/bin/kpsewhich" - SELFAUTOLOC=`$kpsewhich --expand-var='$SELFAUTOLOC' 2>/dev/null` - SELFAUTODIR=`$kpsewhich --expand-var='$SELFAUTODIR' 2>/dev/null` - SELFAUTOPARENT=`$kpsewhich --expand-var='$SELFAUTOPARENT' 2>/dev/null` - if test -z "$SELFAUTODIR"; then - AC_MSG_WARN([ -========================================= - -Could not extract SELFAUTO variables from $kpsewhich. -Either supply the correct PREFIX to --with-kpathsea, or supply ---disable-selfauto-loc. - -=========================================]) - fi - AC_DEFINE_UNQUOTED(SELFAUTOLOC, "$SELFAUTOLOC", [kpsewhich's $SELFAUTOLOC variable]) - AC_DEFINE_UNQUOTED(SELFAUTODIR, "$SELFAUTODIR", [kpsewhich's $SELFAUTODIR variable]) - AC_DEFINE_UNQUOTED(SELFAUTOPARENT, "$SELFAUTOPARENT", [kpsewhich's $SELFAUTOPARENT variable]) -fi - - -dnl -dnl TeX Live build stub -dnl - -KPATHSEA_RULE= -AC_SUBST([KPATHSEA_RULE]) +AC_CHECK_HEADERS([fcntl.h unistd.h sys/time.h sys/wait.h]) dnl @@ -239,9 +119,9 @@ AC_CACHE_CHECK([whether <new> works], ac_cv_good_new_hdr, return 0; ], ac_cv_good_new_hdr=yes, ac_cv_good_new_hdr=no)]) if test "$ac_cv_good_new_hdr" = yes; then - AC_DEFINE(HAVE_NEW_HDR, 1, [Define if <new> exists and works.]) + AC_DEFINE([HAVE_NEW_HDR], [1], [Define if <new> exists and works.]) fi -AC_CHECK_HEADERS(new.h unistd.h) +AC_CHECK_HEADERS([new.h]) dnl @@ -259,7 +139,7 @@ dnl AC_LANG_C need_fixlibc=0 -AC_CHECK_FUNCS([strerror], [:], [need_fixlibc=1]) +AC_CHECK_FUNCS([strerror], [], [need_fixlibc=1]) AC_CACHE_CHECK([for broken strtod], [ac_cv_broken_strtod], [AC_TRY_RUN([#include <stdio.h> @@ -273,10 +153,11 @@ int main(int c, char **v) { [ac_cv_broken_strtod=no])]) if test "x$ac_cv_broken_strtod" = xyes; then need_fixlibc=1 - AC_DEFINE(HAVE_BROKEN_STRTOD, 1, [Define if strtod is broken.]) + AC_DEFINE([HAVE_BROKEN_STRTOD], [1], [Define if strtod is broken.]) fi -AC_CHECK_DECLS([strnlen]) +AC_LANG_CPLUSPLUS +AC_CHECK_DECLS([strnlen], [], [], [#include <string.h>]) AC_CHECK_FUNCS([strnlen], [have_strnlen=1], [need_fixlibc=1]) if test "x$have_strnlen" = x1; then AC_CACHE_CHECK([for broken strnlen], [ac_cv_broken_strnlen], @@ -292,11 +173,11 @@ int main(int c, char **v) { AC_DEFINE([HAVE_BROKEN_STRNLEN], [1], [Define if strnlen is broken.]) fi fi +AC_LANG_C AC_CHECK_FUNCS([ctime ftruncate mkstemp sigaction strdup strtoul vsnprintf waitpid]) -AC_CHECK_FUNC([floor], [:], [AC_CHECK_LIB(m, floor)]) -AC_CHECK_FUNC([fabs], [:], [AC_CHECK_LIB(m, fabs)]) -AC_CHECK_HEADERS([unistd.h fcntl.h sys/time.h sys/wait.h]) +AC_CHECK_FUNC([floor], [], [AC_CHECK_LIB([m], [floor])]) +AC_CHECK_FUNC([fabs], [], [AC_CHECK_LIB([m], [fabs])]) AM_CONDITIONAL([FIXLIBC], [test x$need_fixlibc = x1]) @@ -409,7 +290,7 @@ dnl is va_list addressable? dnl AC_LANG_CPLUSPLUS -AC_CACHE_CHECK([for addressable va_list type], +AC_CACHE_CHECK([for addressable va_list type], ac_cv_va_list_addr, [AC_TRY_COMPILE([#include <stdarg.h> void f(va_list *) { @@ -429,6 +310,134 @@ fi dnl +dnl select programs to be compiled and automatically run +dnl + +m4_include([m4/lcdf-typetools.m4]) + +SELECTED_SUBDIRS= +AC_FOREACH([Kpse_Prog], kpse_lcdf_typetools_progs, + [test "x$enable_[]Kpse_Prog" = xno || SELECTED_SUBDIRS="$SELECTED_SUBDIRS Kpse_Prog" +]) +AC_SUBST(SELECTED_SUBDIRS) + +AC_FOREACH([Kpse_Opt], kpse_otftotfm_auto_opts, + [AS_IF([test "x$enable_auto_]Kpse_Opt[" != xno], + [AC_DEFINE([HAVE_AUTO_]AS_TR_CPP(Kpse_Opt), 1, + [Define to run ]Kpse_Opt[ from otftotfm.])]) +]) + + +dnl +dnl kpathsea +dnl + +AC_ARG_WITH([kpathsea], + [AS_HELP_STRING([--with-kpathsea=PREFIX], [Kpathsea is installed (under PREFIX)])], + [kpathsea=$withval], [kpathsea=]) + +KPATHSEA_INCLUDES= +KPATHSEA_LIBS= +KPATHSEA_DEPEND= + +if test "x$kpathsea" != xno; then + SAVE_CPPFLAGS="$CPPFLAGS"; SAVE_LDFLAGS="$LDFLAGS" + if test "x$kpathsea" != x -a "x$kpathsea" != xyes; then + KPATHSEA_INCLUDES="-I$kpathsea/include" + KPATHSEA_LIBS="-L$kpathsea/lib" + else + kpathsea=yes + fi + + dnl check for kpathsea/kpathsea.h + if true; then + CPPFLAGS="$SAVE_CPPFLAGS $KPATHSEA_INCLUDES" + AC_CHECK_HEADER([kpathsea/kpathsea.h], [kpse_header=yes], [kpse_header=no]) + fi + + dnl if not found and kpathsea prefix not set, check /usr/local + if test "x$kpse_header" != xyes -a "x$kpathsea" = xyes -a -r /usr/local/include/kpathsea/tex-file.h; then + KPATHSEA_INCLUDES="-I/usr/local/include" + KPATHSEA_LIBS="-L/usr/local/lib" + CPPFLAGS="$SAVE_CPPFLAGS $KPATHSEA_INCLUDES" + AC_CHECK_HEADER([kpathsea/tex-file.h], [kpse_header=yes], [kpse_header=no]) + fi + + dnl check for -lkpathsea + if true; then + LDFLAGS="$SAVE_LDFLAGS $KPATHSEA_LIBS" + AC_CHECK_LIB([kpathsea], [kpse_set_program_name], [kpse_library=yes], [kpse_library=no]) + fi + + dnl bail out if not found + if test "x$kpse_header" != xyes -o "x$kpse_library" != xyes; then + AC_MSG_ERROR([ +========================================= + +I can't find the kpathsea library and/or header files. Tell me where to look +using the --with-kpathsea=PREFIX option (header files should be under +PREFIX/include/kpathsea, and library under PREFIX/lib), or disable support +using --without-kpathsea. + +=========================================]) + fi + + dnl OK, found + AC_DEFINE(HAVE_KPATHSEA, 1, [Define if you want to use kpathsea.]) + if true; then + KPATHSEA_LIBS="$KPATHSEA_LIBS -lkpathsea" + fi + + dnl does it have opentype support? + if false; then + AC_DEFINE(HAVE_DECL_KPSE_OPENTYPE_FORMAT) + else + AC_CHECK_DECLS([kpse_opentype_format], [], [], [#include <kpathsea/kpathsea.h>]) + fi + + CPPFLAGS="$SAVE_CPPFLAGS"; LDFLAGS="$SAVE_LDFLAGS" +fi + +AM_CONDITIONAL([have_kpathsea], [test "x$with_kpathsea" != xno]) +AC_SUBST([KPATHSEA_INCLUDES]) +AC_SUBST([KPATHSEA_LIBS]) +AC_SUBST([KPATHSEA_DEPEND]) + +AC_ARG_ENABLE([selfauto-set], + [AS_HELP_STRING([--disable-selfauto-set], [disable setting SELFAUTO variables from kpsewhich])], + [], [enable_selfauto_set=yes]) + +if test "x$enable_selfauto_set" = xyes -a "x$kpathsea" != xno; then + kpsewhich='kpsewhich' + test "x$kpathsea" != xyes -a -x "$kpathsea/bin/kpsewhich" && kpsewhich="$kpathsea/bin/kpsewhich" + SELFAUTOLOC=`$kpsewhich --expand-var='$SELFAUTOLOC' 2>/dev/null` + SELFAUTODIR=`$kpsewhich --expand-var='$SELFAUTODIR' 2>/dev/null` + SELFAUTOPARENT=`$kpsewhich --expand-var='$SELFAUTOPARENT' 2>/dev/null` + if test -z "$SELFAUTODIR"; then + AC_MSG_WARN([ +========================================= + +Could not extract SELFAUTO variables from $kpsewhich. +Either supply the correct PREFIX to --with-kpathsea, or supply +--disable-selfauto-loc. + +=========================================]) + fi + AC_DEFINE_UNQUOTED(SELFAUTOLOC, "$SELFAUTOLOC", [kpsewhich's $SELFAUTOLOC variable]) + AC_DEFINE_UNQUOTED(SELFAUTODIR, "$SELFAUTODIR", [kpsewhich's $SELFAUTODIR variable]) + AC_DEFINE_UNQUOTED(SELFAUTOPARENT, "$SELFAUTOPARENT", [kpsewhich's $SELFAUTOPARENT variable]) +fi + + +dnl +dnl TeX Live build stub +dnl + +KPATHSEA_RULE= +AC_SUBST([KPATHSEA_RULE]) + + +dnl dnl verbatim portions of the header dnl diff --git a/Build/source/texk/lcdf-typetools/include/config.h b/Build/source/texk/lcdf-typetools/include/config.h index 90862b448a5..26a90a97b14 100644 --- a/Build/source/texk/lcdf-typetools/include/config.h +++ b/Build/source/texk/lcdf-typetools/include/config.h @@ -25,7 +25,7 @@ char *strerror(int errno); #endif /* Prototype strnlen if necessary. */ -#if !HAVE_STRNLEN || !HAVE_DECL_STRNLEN +#if !HAVE_DECL_STRNLEN size_t strnlen(const char *s, size_t maxlen); #endif diff --git a/Build/source/texk/lcdf-typetools/include/efont/otfcmap.hh b/Build/source/texk/lcdf-typetools/include/efont/otfcmap.hh index de7558ed35f..f95a3dc5c41 100644 --- a/Build/source/texk/lcdf-typetools/include/efont/otfcmap.hh +++ b/Build/source/texk/lcdf-typetools/include/efont/otfcmap.hh @@ -22,13 +22,14 @@ class Cmap { public: String _str; int _error; int _ntables; - int _first_unicode_table; + mutable int _first_unicode_table; mutable Vector<int> _table_error; enum { HEADER_SIZE = 4, ENCODING_SIZE = 8, HIBYTE_SUBHEADERS = 524 }; enum Format { F_BYTE = 0, F_HIBYTE = 2, F_SEGMENTED = 4, F_TRIMMED = 6, F_HIBYTE32 = 8, F_TRIMMED32 = 10, F_SEGMENTED32 = 12 }; + enum { USE_FIRST_UNICODE_TABLE = -2 }; int parse_header(ErrorHandler *); int first_unicode_table() const { return _first_unicode_table; } @@ -42,12 +43,12 @@ class Cmap { public: inline Glyph Cmap::map_uni(uint32_t c) const { - return map_table(first_unicode_table(), c, ErrorHandler::default_handler()); + return map_table(USE_FIRST_UNICODE_TABLE, c, ErrorHandler::default_handler()); } inline void Cmap::unmap_all(Vector<uint32_t> &g2c) const { - dump_table(first_unicode_table(), g2c, ErrorHandler::default_handler()); + dump_table(USE_FIRST_UNICODE_TABLE, g2c, ErrorHandler::default_handler()); } }} diff --git a/Build/source/texk/lcdf-typetools/include/lcdf/clp.h b/Build/source/texk/lcdf-typetools/include/lcdf/clp.h index 233182d76dc..81d59bd99e9 100644 --- a/Build/source/texk/lcdf-typetools/include/lcdf/clp.h +++ b/Build/source/texk/lcdf-typetools/include/lcdf/clp.h @@ -165,6 +165,8 @@ typedef void (*Clp_ErrorHandler)(Clp_Parser *clp, const char *message); * value types, and current arguments. * @sa Clp_NewParser, Clp_SetOptions, Clp_SetArguments */ struct Clp_Parser { + int opt; /**< The last option. */ + int negated; /**< Whether the last option was negated. */ int have_val; /**< Whether the last option had a value. */ diff --git a/Build/source/texk/lcdf-typetools/include/lcdf/straccum.hh b/Build/source/texk/lcdf-typetools/include/lcdf/straccum.hh index ec2a95bf036..9474421e85f 100644 --- a/Build/source/texk/lcdf-typetools/include/lcdf/straccum.hh +++ b/Build/source/texk/lcdf-typetools/include/lcdf/straccum.hh @@ -35,7 +35,13 @@ class StringAccum { public: explicit inline StringAccum(int capacity); /** @brief Construct a StringAccum containing the characters in @a s. */ - explicit inline StringAccum(const char *s, int len = -1) + explicit inline StringAccum(const char *cstr) + : _s(0), _len(0), _cap(0) { + append(cstr); + } + + /** @brief Construct a StringAccum containing the characters in @a s. */ + inline StringAccum(const char *s, int len) : _s(0), _len(0), _cap(0) { append(s, len); } @@ -74,6 +80,11 @@ class StringAccum { public: return reinterpret_cast<char *>(_s); } + /** @brief Return true iff the StringAccum is empty or out-of-memory. */ + bool empty() const { + return _len == 0; + } + /** @brief Return the length of the StringAccum. */ int length() const { return _len; @@ -200,8 +211,10 @@ class StringAccum { public: * All characters in the StringAccum are erased. Also resets the * StringAccum's out-of-memory status. */ inline void clear() { - if (_cap < 0) - _cap = 0, _s = 0; + if (_cap < 0) { + _cap = 0; + _s = 0; + } _len = 0; } @@ -220,10 +233,10 @@ class StringAccum { public: * On failure, null is returned and errno is set to ENOMEM. */ inline char *reserve(int n) { assert(n >= 0); - if (_len + n <= _cap || grow(_len + n)) - return (char *)(_s + _len); + if (_len + n <= _cap) + return reinterpret_cast<char *>(_s + _len); else - return 0; + return grow(_len + n); } /** @brief Set the StringAccum's length to @a len. @@ -235,6 +248,11 @@ class StringAccum { public: _len = len; } + /** @brief Set the StringAccum's length to @a len. + * @pre @a len >= 0 + * @return 0 on success, -ENOMEM on failure */ + int resize(int len); + /** @brief Adjust the StringAccum's length. * @param delta length adjustment * @pre If @a delta > 0, then length() + @a delta <= capacity(). @@ -258,10 +276,12 @@ class StringAccum { public: * reserve() call. */ inline char *extend(int nadjust, int nreserve = 0) { assert(nadjust >= 0 && nreserve >= 0); - char *c = reserve(nadjust + nreserve); - if (c) + if (_len + nadjust + nreserve <= _cap) { + char *x = reinterpret_cast<char *>(_s + _len); _len += nadjust; - return c; + return x; + } else + return hard_extend(nadjust, nreserve); } @@ -299,29 +319,24 @@ class StringAccum { public: append_utf8_hard(ch); } + /** @brief Append the null-terminated C string @a s to this StringAccum. + * @param s data to append */ + void append(const char *s); /** @brief Append the first @a len characters of @a s to this StringAccum. * @param s data to append * @param len length of data - * - * If @a len < 0, treats @a s as a null-terminated C string. */ - inline void append(const char *s, int len) { - if (len < 0) - len = strlen(s); - append_data(s, len); - } + * @pre @a len >= 0 */ + inline void append(const char *s, int len); /** @overload */ - inline void append(const unsigned char *s, int len) { - append(reinterpret_cast<const char *>(s), len); - } + inline void append(const unsigned char *s, int len); /** @brief Append the data from @a begin to @a end to the end of this * StringAccum. * * Does nothing if @a begin >= @a end. */ - inline void append(const char *begin, const char *end) { - if (begin < end) - append_data(begin, end - begin); - } + inline void append(const char *begin, const char *end); + /** @overload */ + inline void append(const unsigned char *begin, const unsigned char *end); // word joining void append_break_lines(const String &text, int linelen, const String &leftmargin = String()); @@ -377,29 +392,13 @@ class StringAccum { public: int _len; int _cap; - bool grow(int); + char *grow(int); void assign_out_of_memory(); - // We must be careful about calls like "sa.append(sa.begin(), sa.end())"; - // a naive implementation might use sa's data after freeing it. - // append_external_data() takes a string guaranteed not to be part of the - // current StringAccum; append_internal_data() takes a string that likely - // is part of the current StringAccum; append_data() takes either kind. - inline void append_external_data(const char *s, int len) { - if (char *x = extend(len)) - memcpy(x, s, len); - } - void append_internal_data(const char *s, int len); - inline void append_data(const char *s, int len) { - const char *my_s = reinterpret_cast<char *>(_s); - if (s < my_s || s >= my_s + _cap) - append_external_data(s, len); - else - append_internal_data(s, len); - } + char *hard_extend(int nadjust, int nreserve); + void hard_append(const char *s, int len); void append_utf8_hard(unsigned ch); - friend StringAccum &operator<<(StringAccum &sa, const char *s); friend StringAccum &operator<<(StringAccum &sa, const String &str); #if HAVE_PERMSTRING @@ -442,6 +441,29 @@ StringAccum::StringAccum(int capacity) } } +inline void StringAccum::append(const char *s, int len) { + assert(len >= 0); + if (_len + len <= _cap) { + memcpy(_s + _len, s, len); + _len += len; + } else + hard_append(s, len); +} + +inline void StringAccum::append(const unsigned char *s, int len) { + append(reinterpret_cast<const char *>(s), len); +} + +inline void StringAccum::append(const char *begin, const char *end) { + if (begin < end) + append(begin, end - begin); +} + +inline void StringAccum::append(const unsigned char *begin, const unsigned char *end) { + if (begin < end) + append(begin, end - begin); +} + /** @relates StringAccum @brief Append character @a c to StringAccum @a sa. @return @a sa @@ -467,11 +489,11 @@ operator<<(StringAccum &sa, unsigned char c) /** @relates StringAccum @brief Append null-terminated C string @a cstr to StringAccum @a sa. @return @a sa - @note Same as @a sa.append(@a cstr, -1). */ + @note Same as @a sa.append(@a cstr). */ inline StringAccum & operator<<(StringAccum &sa, const char *cstr) { - sa.append(cstr, -1); + sa.append(cstr); return sa; } @@ -481,7 +503,11 @@ operator<<(StringAccum &sa, const char *cstr) inline StringAccum & operator<<(StringAccum &sa, bool b) { - sa.append("truefalse" + (b ? 0 : 4), (b ? 4 : 5)); + static const char truefalse[] = "truefalse"; + if (b) + sa.append(truefalse, 4); + else + sa.append(truefalse + 4, 5); return sa; } @@ -528,7 +554,7 @@ inline StringAccum & operator<<(StringAccum &sa, const String &str) { if (!str.out_of_memory()) - sa.append_external_data(str.begin(), str.length()); + sa.hard_append(str.begin(), str.length()); else sa.assign_out_of_memory(); return sa; @@ -538,7 +564,7 @@ operator<<(StringAccum &sa, const String &str) inline StringAccum & operator<<(StringAccum &sa, PermString s) { - sa.append_external_data(s.c_str(), s.length()); + sa.append(s.c_str(), s.length()); return sa; } #endif diff --git a/Build/source/texk/lcdf-typetools/include/lcdf/string.hh b/Build/source/texk/lcdf-typetools/include/lcdf/string.hh index adbf6ef7904..a704c201572 100644 --- a/Build/source/texk/lcdf-typetools/include/lcdf/string.hh +++ b/Build/source/texk/lcdf-typetools/include/lcdf/string.hh @@ -43,6 +43,10 @@ class String { public: inline String(const char *s, int len) { assign(s, len, false); } + /** @overload */ + inline String(const unsigned char *s, int len) { + assign(reinterpret_cast<const char *>(s), len, false); + } /** @brief Construct a String containing the characters from @a begin * to @a end. @@ -55,6 +59,11 @@ class String { public: inline String(const char *begin, const char *end) { assign(begin, (end > begin ? end - begin : 0), false); } + /** @overload */ + inline String(const unsigned char *begin, const unsigned char *end) { + assign(reinterpret_cast<const char *>(begin), + (end > begin ? end - begin : 0), false); + } /** @brief Construct a String equal to "true" or "false" depending on the * value of @a x. */ @@ -102,7 +111,11 @@ class String { public: } /** @brief Return a String containing @a len unknown characters. */ - static String make_garbage(int len); + static String make_uninitialized(int len) { + String s; + s.append_uninitialized(len); + return s; + } /** @brief Return a String that directly references the first @a len * characters of @a s. @@ -185,10 +198,15 @@ class String { public: } /** @brief Return true iff the string is empty. */ - inline bool operator!() const { + inline bool empty() const { return _r.length == 0; } + /** @brief Return true iff the string is empty. */ + inline bool operator!() const { + return empty(); + } + /** @brief Return the @a i th character in the string. * @@ -228,14 +246,14 @@ class String { public: * pointer. The returned pointer is semi-temporary; it will persist until * the string is destroyed or appended to. */ inline const char *c_str() const { - // We may already have a '\0' in the right place. If _memo does not - // exist, then this is one of the special strings (null or + // We may already have a '\0' in the right place. If _memo has no + // capacity, then this is one of the special strings (null or // stable). We are guaranteed, in these strings, that _data[_length] - // exists. Otherwise must check whether _data[_length] exists. + // exists. Otherwise must check that _data[_length] exists. const char *end_data = _r.data + _r.length; if ((_r.memo && end_data >= _r.memo->real_data + _r.memo->dirty) || *end_data != '\0') { - if (char *x = const_cast<String *>(this)->append_garbage(1)) { + if (char *x = const_cast<String *>(this)->append_uninitialized(1)) { *x = '\0'; --_r.length; } @@ -468,12 +486,19 @@ class String { public: } #endif + /** @brief Append the null-terminated C string @a cstr to this string. + * @param cstr data to append */ + inline void append(const char *cstr) { + append(cstr, -1, 0); + } + /** @brief Append the first @a len characters of @a s to this string. * @param s data to append * @param len length of data - * - * If @a len @< 0, treats @a s as a null-terminated C string. */ - void append(const char *s, int len); + * @pre @a len @>= 0 */ + inline void append(const char *s, int len) { + append(s, len, 0); + } /** @brief Appends the data from @a begin to @a end to the end of this * string. @@ -492,14 +517,14 @@ class String { public: * * The caller may safely modify the returned memory. Null is returned if * the string becomes out-of-memory. */ - char *append_garbage(int len); + char *append_uninitialized(int len); /** @brief Append a copy of @a x to the end of this string. * * Returns the result. */ inline String &operator+=(const String &x) { - append(x._r.data, x._r.length); + append(x._r.data, x._r.length, x._r.memo); return *this; } @@ -507,7 +532,7 @@ class String { public: * * Returns the result. */ inline String &operator+=(const char *cstr) { - append(cstr, -1); + append(cstr); return *this; } @@ -686,6 +711,7 @@ class String { public: } #endif void assign_out_of_memory(); + void append(const char *s, int len, memo_t *memo); static memo_t *create_memo(char *space, int dirty, int capacity); static void delete_memo(memo_t *memo); @@ -698,7 +724,7 @@ class String { public: static String make_claim(char *, int, int); // claim memory - friend class rep_t; + friend struct rep_t; friend class StringAccum; }; @@ -796,7 +822,7 @@ inline String operator+(String a, const String &b) { /** @relates String */ inline String operator+(String a, const char *b) { - a.append(b, -1); + a.append(b); return a; } diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/ChangeLog b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/ChangeLog index 03024b2ea44..c6648877f5a 100644 --- a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/ChangeLog +++ b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/ChangeLog @@ -1,3 +1,10 @@ +2012-08-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import lcdf-typetools-2.94. + * version.ac: Adapted. + * configure.ac: Adapted. + * patch-01-const: Adapted + 2011-12-22 Peter Breitenlohner <peb@mppmu.mpg.de> * Makefile.am: Replace DISTCHECK_CONFIGURE_FLAGS by @@ -16,7 +23,7 @@ * Makefile.am: Avoid pkgdata_DATA in order not to install an empty $(pkgdatadir). -2011-06-06 Peter Breitenlohner <peb@mppmu.mpg.de> +2011-08-16 Peter Breitenlohner <peb@mppmu.mpg.de> Import lcdf-typetools-2.92. * version.ac: Adapt. diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/TL-Changes b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/TL-Changes index 09e2d8d9558..754d53fe339 100644 --- a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/TL-Changes +++ b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/TL-Changes @@ -1,5 +1,5 @@ Changes applied to the lcdf-typetools tree as obtained from: - http://www.lcdf.org/type/lcdf-typetools-2.92.tar.gz + http://www.lcdf.org/type/lcdf-typetools-2.94.tar.gz Removed: depcomp diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/patch-01-const b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/patch-01-const index 01bb341d512..84ca97ef3f6 100644 --- a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.92-PATCHES/patch-01-const +++ b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.94-PATCHES/patch-01-const @@ -1,8 +1,8 @@ No need to cast from const to non-const. -diff -ur -x Makefile.in -x aclocal.m4 -x autoconf.h.in -x configure lcdf-typetools-2.92.orig/liblcdf/permstr.cc lcdf-typetools-2.92/liblcdf/permstr.cc ---- lcdf-typetools-2.92.orig/liblcdf/permstr.cc 2011-02-07 15:30:19.000000000 +0100 -+++ lcdf-typetools-2.92/liblcdf/permstr.cc 2011-09-25 15:35:00.000000000 +0200 +diff -ur -x Makefile.in -x aclocal.m4 -x autoconf.h.in -x configure lcdf-typetools-2.94.orig/liblcdf/permstr.cc lcdf-typetools-2.94/liblcdf/permstr.cc +--- lcdf-typetools-2.94.orig/liblcdf/permstr.cc 2011-11-03 17:51:58.000000000 +0100 ++++ lcdf-typetools-2.94/liblcdf/permstr.cc 2012-08-05 12:09:59.000000000 +0200 @@ -110,8 +110,8 @@ void PermString::initialize(const char* s, int length) diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools.spec b/Build/source/texk/lcdf-typetools/lcdf-typetools.spec index 0a378a616f7..84bc70f1a1b 100644 --- a/Build/source/texk/lcdf-typetools/lcdf-typetools.spec +++ b/Build/source/texk/lcdf-typetools/lcdf-typetools.spec @@ -1,6 +1,6 @@ Summary: Programs to manipulate OpenType and multiple-master fonts Name: lcdf-typetools -Version: 2.92 +Version: 2.94 Copyright: GPL Vendor: Little Cambridgeport Design Factory <http://www.lcdf.org/> Group: Utilities/Printing diff --git a/Build/source/texk/lcdf-typetools/libefont/afmparse.cc b/Build/source/texk/lcdf-typetools/libefont/afmparse.cc index f4a731f832f..d2bbd70ef6f 100644 --- a/Build/source/texk/lcdf-typetools/libefont/afmparse.cc +++ b/Build/source/texk/lcdf-typetools/libefont/afmparse.cc @@ -259,7 +259,7 @@ AfmParser::vis(const char *formatsigned, va_list valist) int n = (endbrack ? endbrack - (str + 1) : 0); if (!endbrack || n % 2 != 0) FAIL("should be hex values in <angle brackets>"); - String s = String::make_garbage(n/2); + String s = String::make_uninitialized(n/2); unsigned char *data = s.mutable_udata(); str++; diff --git a/Build/source/texk/lcdf-typetools/libefont/otf.cc b/Build/source/texk/lcdf-typetools/libefont/otf.cc index 48a2eebd722..8b6d988d451 100644 --- a/Build/source/texk/lcdf-typetools/libefont/otf.cc +++ b/Build/source/texk/lcdf-typetools/libefont/otf.cc @@ -775,7 +775,7 @@ Coverage::Coverage(const Vector<bool> &gmap) throw () while (end > 0 && !gmap[end - 1]) --end; if (end > 0) { - _str = String::make_garbage(8 + end); + _str = String::make_uninitialized(8 + end); _str.align(4); uint8_t *data = _str.mutable_udata(); memset(data, 0, 8 + end); diff --git a/Build/source/texk/lcdf-typetools/libefont/otfcmap.cc b/Build/source/texk/lcdf-typetools/libefont/otfcmap.cc index 526a266a058..b62b7188b86 100644 --- a/Build/source/texk/lcdf-typetools/libefont/otfcmap.cc +++ b/Build/source/texk/lcdf-typetools/libefont/otfcmap.cc @@ -2,7 +2,7 @@ /* otfcmap.{cc,hh} -- OpenType cmap table * - * Copyright (c) 2002-2011 Eddie Kohler + * Copyright (c) 2002-2012 Eddie Kohler * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free @@ -121,6 +121,12 @@ Cmap::check_table(int t, ErrorHandler *errh) const { if (!errh) errh = ErrorHandler::silent_handler(); + if (t == USE_FIRST_UNICODE_TABLE && _first_unicode_table == -1) { + errh->warning("font appears not to support Unicode"); + _first_unicode_table = 0; + } + if (t == USE_FIRST_UNICODE_TABLE) + t = _first_unicode_table; if (_error < 0 || t < 0 || t >= _ntables) return errh->error("no such table"); if (_table_error[t] > -2) @@ -245,13 +251,13 @@ Cmap::check_table(int t, ErrorHandler *errh) const } _table_error[t] = 0; - return 0; + return t; } Glyph Cmap::map_table(int t, uint32_t uni, ErrorHandler *errh) const { - if (check_table(t, errh) < 0) + if ((t = check_table(t, errh)) < 0) return 0; const uint8_t *data = _str.udata(); @@ -351,7 +357,7 @@ Cmap::map_table(int t, uint32_t uni, ErrorHandler *errh) const void Cmap::dump_table(int t, Vector<uint32_t> &g2c, ErrorHandler *errh) const { - if (check_table(t, errh) < 0) + if ((t = check_table(t, errh)) < 0) return; const uint8_t *data = _str.udata(); @@ -462,8 +468,8 @@ Cmap::dump_table(int t, Vector<uint32_t> &g2c, ErrorHandler *errh) const int Cmap::map_uni(const Vector<uint32_t> &vin, Vector<Glyph> &vout) const { - int t = first_unicode_table(); - if (check_table(t) < 0) + int t; + if ((t = check_table(USE_FIRST_UNICODE_TABLE)) < 0) return -1; vout.resize(vin.size(), 0); for (int i = 0; i < vin.size(); i++) diff --git a/Build/source/texk/lcdf-typetools/libefont/otfdescrip.cc b/Build/source/texk/lcdf-typetools/libefont/otfdescrip.cc index 1267df342a0..ed8c1e2078c 100644 --- a/Build/source/texk/lcdf-typetools/libefont/otfdescrip.cc +++ b/Build/source/texk/lcdf-typetools/libefont/otfdescrip.cc @@ -26,42 +26,115 @@ struct Mapping { static const Mapping scripts[] = { { T("DFLT"), "Default" }, { T("arab"), "Arabic" }, + { T("armi"), "Imperial Aramaic" }, { T("armn"), "Armenian" }, + { T("avst"), "Avestan" }, + { T("bali"), "Balinese" }, + { T("bamu"), "Bamum" }, + { T("batk"), "Batak" }, { T("beng"), "Bengali" }, + { T("bng2"), "Bengali v.2" }, { T("bopo"), "Bopomofo" }, + { T("brah"), "Brahmi" }, { T("brai"), "Braille" }, + { T("bugi"), "Buginese" }, + { T("buhd"), "Buhid" }, { T("byzm"), "Byzantine Music" }, + { T("cakm"), "Chakma" }, { T("cans"), "Canadian Syllabics" }, + { T("cari"), "Carian" }, + { T("cham"), "Cham" }, { T("cher"), "Cherokee" }, + { T("copt"), "Coptic" }, + { T("cprt"), "Cypriot Syllabary" }, { T("cyrl"), "Cyrillic" }, + { T("dev2"), "Devanagari v.2" }, { T("deva"), "Devanagari" }, + { T("dsrt"), "Deseret" }, + { T("egyp"), "Egyptian heiroglyphs" }, { T("ethi"), "Ethiopic" }, { T("geor"), "Georgian" }, + { T("gjr2"), "Gujarati v.2" }, + { T("glag"), "Glagolitic" }, + { T("goth"), "Gothic" }, { T("grek"), "Greek" }, { T("gujr"), "Gujarati" }, + { T("gur2"), "Gurmukhi v.2" }, { T("guru"), "Gurmukhi" }, { T("hang"), "Hangul" }, { T("hani"), "CJK Ideographic" }, + { T("hano"), "Hanunoo" }, { T("hebr"), "Hebrew" }, + { T("ital"), "Old Italic" }, { T("jamo"), "Hangul Jamo" }, + { T("java"), "Javanese" }, + { T("kali"), "Kayah Li" }, { T("kana"), "Hiragana/Katakana" }, + { T("khar"), "Kharosthi" }, { T("khmr"), "Khmer" }, + { T("knd2"), "Kannada v.2" }, { T("knda"), "Kannada" }, + { T("kthi"), "Kaithi" }, + { T("lana"), "Tai Tham (Lanna)" }, { T("lao "), "Lao" }, { T("latn"), "Latin" }, + { T("lepc"), "Lepcha" }, + { T("limb"), "Limbu" }, + { T("linb"), "Linear B" }, + { T("lisu"), "Lisu (Fraser)" }, + { T("lyci"), "Lycian" }, + { T("lydi"), "Lydian" }, + { T("mand"), "Mandaic, Mandaean" }, + { T("math"), "Mathematical Alphanumeric Symbols" }, + { T("merc"), "Meroitic Cursive" }, + { T("mero"), "Meroitic Hieroglyphs" }, + { T("mlm2"), "Malayalam v.2" }, { T("mlym"), "Malayalam" }, { T("mong"), "Mongolian" }, + { T("mtei"), "Meitei Mayek (Meithei, Meetei)" }, + { T("musc"), "Musical Symbols" }, { T("mymr"), "Myanmar" }, + { T("nko "), "N'Ko" }, { T("ogam"), "Ogham" }, - { T("orya"), "Oriya" }, + { T("olck"), "Ol Chiki" }, + { T("orkh"), "Old Turkic, Orkhon Runic" }, + { T("ory2"), "Odia v.2 (formerly Oriya v.2)" }, + { T("orya"), "Odia (formerly Oriya)" }, + { T("osma"), "Osmanya" }, + { T("phag"), "Phags-pa" }, + { T("phli"), "Inscriptional Pahlavi" }, + { T("phnx"), "Phoenician" }, + { T("prti"), "Inscriptional Parthian" }, + { T("rjng"), "Rejang" }, { T("runr"), "Runic" }, + { T("samr"), "Samaritan" }, + { T("sarb"), "Old South Arabian" }, + { T("saur"), "Saurashtra" }, + { T("shaw"), "Shavian" }, + { T("shrd"), "Sharada" }, { T("sinh"), "Sinhala" }, + { T("sora"), "Sora Sompeng" }, + { T("sund"), "Sundanese" }, + { T("sylo"), "Syloti Nagri" }, { T("syrc"), "Syriac" }, + { T("tagb"), "Tagbanwa" }, + { T("takr"), "Takri" }, + { T("tale"), "Tai Le" }, + { T("talu"), "New Tai Lue" }, { T("taml"), "Tamil" }, + { T("tavt"), "Tai Viet" }, + { T("tel2"), "Telugu v.2" }, { T("telu"), "Telugu" }, + { T("tfng"), "Tifinagh" }, + { T("tglg"), "Tagalog" }, { T("thaa"), "Thaana" }, { T("thai"), "Thai" }, { T("tibt"), "Tibetan" }, + { T("tml2"), "Tamil v.2" }, + { T("ugar"), "Ugaritic Cuneiform" }, + { T("vai "), "Vai" }, + { T("xpeo"), "Old Persian Cuneiform" }, + { T("xsux"), "Sumero-Akkadian Cuneiform" }, { T("yi "), "Yi" } }; @@ -72,8 +145,10 @@ static const Mapping languages[] = { { T("AFK "), "Afrikaans" }, { T("AFR "), "Afar" }, { T("AGW "), "Agaw" }, + { T("ALS "), "Alsatian" }, { T("ALT "), "Altai" }, { T("AMH "), "Amharic" }, + { T("APPH"), "Phonetic transcription—Americanist conventions" }, { T("ARA "), "Arabic" }, { T("ARI "), "Aari" }, { T("ARK "), "Arakanese" }, @@ -104,6 +179,7 @@ static const Mapping languages[] = { { T("BLT "), "Balti" }, { T("BMB "), "Bambara" }, { T("BML "), "Bamileke" }, + { T("BOS "), "Bosnian" }, { T("BRE "), "Breton" }, { T("BRH "), "Brahui" }, { T("BRI "), "Braj Bhasha" }, @@ -122,6 +198,7 @@ static const Mapping languages[] = { { T("CHU "), "Chuvash" }, { T("CMR "), "Comorian" }, { T("COP "), "Coptic" }, + { T("COS "), "Corsican" }, { T("CRE "), "Cree" }, { T("CRR "), "Carrier" }, { T("CRT "), "Crimean Tatar" }, @@ -130,12 +207,14 @@ static const Mapping languages[] = { { T("DAN "), "Danish" }, { T("DAR "), "Dargwa" }, { T("DCR "), "Woods Cree" }, - { T("DEU "), "German (Standard)" }, + { T("DEU "), "German" }, { T("DGR "), "Dogri" }, - { T("DHV "), "Dhivehi" }, + { T("DHV "), "Dhivehi" }, // deprecated + { T("DIV "), "Dhivehi" }, { T("DJR "), "Djerma" }, { T("DNG "), "Dangme" }, { T("DNK "), "Dinka" }, + { T("DRI "), "Dari" }, { T("DUN "), "Dungan" }, { T("DZN "), "Dzongkha" }, { T("EBI "), "Ebira" }, @@ -159,7 +238,7 @@ static const Mapping languages[] = { { T("FNE "), "Forest Nenets" }, { T("FON "), "Fon" }, { T("FOS "), "Faroese" }, - { T("FRA "), "French (Standard)" }, + { T("FRA "), "French" }, { T("FRI "), "Frisian" }, { T("FRL "), "Friulian" }, { T("FTA "), "Futa" }, @@ -199,6 +278,7 @@ static const Mapping languages[] = { { T("IND "), "Indonesian" }, { T("ING "), "Ingush" }, { T("INU "), "Inuktitut" }, + { T("IPPH"), "Phonetic transcription—IPA conventions" }, { T("IRI "), "Irish" }, { T("IRT "), "Irish Traditional" }, { T("ISL "), "Icelandic" }, @@ -236,6 +316,7 @@ static const Mapping languages[] = { { T("KMS "), "Komso" }, { T("KNR "), "Kanuri" }, { T("KOD "), "Kodagu" }, + { T("KOH "), "Korean Old Hangul" }, { T("KOK "), "Konkani" }, { T("KON "), "Kikongo" }, { T("KOP "), "Komi-Permyak" }, @@ -275,6 +356,7 @@ static const Mapping languages[] = { { T("LSB "), "Lower Sorbian" }, { T("LSM "), "Lule Sami" }, { T("LTH "), "Lithuanian" }, + { T("LTZ "), "Luxembourgish" }, { T("LUB "), "Luba" }, { T("LUG "), "Luganda" }, { T("LUH "), "Luhya" }, @@ -284,6 +366,7 @@ static const Mapping languages[] = { { T("MAK "), "Makua" }, { T("MAL "), "Malayalam Traditional" }, { T("MAN "), "Mansi" }, + { T("MAP "), "Mapudungun" }, { T("MAR "), "Marathi" }, { T("MAW "), "Marwari" }, { T("MBN "), "Mbundu" }, @@ -303,6 +386,7 @@ static const Mapping languages[] = { { T("MNI "), "Manipuri" }, { T("MNK "), "Maninka" }, { T("MNX "), "Manx Gaelic" }, + { T("MOH "), "Mohawk" }, { T("MOK "), "Moksha" }, { T("MOL "), "Moldavian" }, { T("MON "), "Mon" }, @@ -319,10 +403,12 @@ static const Mapping languages[] = { { T("NDG "), "Ndonga" }, { T("NEP "), "Nepali" }, { T("NEW "), "Newari" }, + { T("NGR "), "Nagari" }, { T("NHC "), "Norway House Cree" }, { T("NIS "), "Nisi" }, { T("NIU "), "Niuean" }, { T("NKL "), "Nkole" }, + { T("NKO "), "N'Ko" }, { T("NLD "), "Dutch" }, { T("NOG "), "Nogai" }, { T("NOR "), "Norwegian" }, @@ -330,9 +416,10 @@ static const Mapping languages[] = { { T("NTA "), "Northern Tai" }, { T("NTO "), "Esperanto" }, { T("NYN "), "Nynorsk" }, + { T("OCI "), "Occitan" }, { T("OCR "), "Oji-Cree" }, { T("OJB "), "Ojibway" }, - { T("ORI "), "Oriya" }, + { T("ORI "), "Odia (formerly Oriya)" }, { T("ORO "), "Oromo" }, { T("OSS "), "Ossetian" }, { T("PAA "), "Palestinian Aramaic" }, @@ -341,7 +428,7 @@ static const Mapping languages[] = { { T("PAP "), "Palpa" }, { T("PAS "), "Pashto" }, { T("PGR "), "Polytonic Greek" }, - { T("PIL "), "Pilipino" }, + { T("PIL "), "Filipino" }, { T("PLG "), "Palaung" }, { T("PLK "), "Polish" }, { T("PRO "), "Provencal" }, @@ -416,7 +503,7 @@ static const Mapping languages[] = { { T("TSG "), "Tsonga" }, { T("TUA "), "Turoyo Aramaic" }, { T("TUL "), "Tulu" }, - { T("TUR "), "Turkish" }, + { T("TUR "), "Turkish" }, // deprecated? { T("TUV "), "Tuvin" }, { T("TWI "), "Twi" }, { T("UDM "), "Udmurt" }, @@ -432,12 +519,14 @@ static const Mapping languages[] = { { T("WCR "), "West-Cree" }, { T("WEL "), "Welsh" }, { T("WLF "), "Wolof" }, + { T("XBD "), "Tai Lue" }, { T("XHS "), "Xhosa" }, - { T("YAK "), "Yakut" }, + { T("YAK "), "Sakha" }, { T("YBA "), "Yoruba" }, { T("YCR "), "Y-Cree" }, { T("YIC "), "Yi Classic" }, { T("YIM "), "Yi Modern" }, + { T("ZHH "), "Chinese, Hong Kong SAR" }, { T("ZHP "), "Chinese Phonetic" }, { T("ZHS "), "Chinese Simplified" }, { T("ZHT "), "Chinese Traditional" }, @@ -460,10 +549,20 @@ static const Mapping features[] = { { T("calt"), "Contextual Alternates" }, { T("case"), "Case-Sensitive Forms" }, { T("ccmp"), "Glyph Composition/Decomposition" }, + { T("cfar"), "Conjunct Form After Ro" }, + { T("cjct"), "Conjunct Forms" }, { T("clig"), "Contextual Ligatures" }, + { T("cpct"), "Centered CJK Punctuation" }, { T("cpsp"), "Capital Spacing" }, { T("cswh"), "Contextual Swash" }, { T("curs"), "Cursive Positioning" }, + { T("cv01"), "Character Variants 1" }, + { T("cv02"), "Character Variants 2" }, + { T("cv03"), "Character Variants 3" }, + { T("cv04"), "Character Variants 4" }, + { T("cv05"), "Character Variants 5" }, + { T("cv06"), "Character Variants 6" }, + // ... up to cv99 { T("dist"), "Distances" }, { T("dlig"), "Discretionary Ligatures" }, { T("dnom"), "Denominators" }, @@ -481,11 +580,13 @@ static const Mapping features[] = { { T("hkna"), "Horizontal Kana Alternates" }, { T("hlig"), "Historical Ligatures" }, { T("hngl"), "Hangul" }, + { T("hojo"), "Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)" }, { T("hwid"), "Half Widths" }, { T("init"), "Initial Forms" }, { T("isol"), "Isolated Forms" }, { T("ital"), "Italics" }, { T("jalt"), "Justification Alternates" }, + { T("jp04"), "JIS2004 Forms" }, { T("jp78"), "JIS78 Forms" }, { T("jp83"), "JIS83 Forms" }, { T("jp90"), "JIS90 Forms" }, @@ -495,6 +596,8 @@ static const Mapping features[] = { { T("ljmo"), "Leading Jamo Forms" }, { T("lnum"), "Lining Figures" }, { T("locl"), "Localized Forms" }, + { T("ltra"), "Left-to-right alternates" }, + { T("ltrm"), "Left-to-right mirrored forms" }, { T("mark"), "Mark Positioning" }, { T("med2"), "Medial Forms #2" }, { T("medi"), "Medial Forms" }, @@ -511,6 +614,7 @@ static const Mapping features[] = { { T("ornm"), "Ornaments" }, { T("palt"), "Proportional Alternate Widths" }, { T("pcap"), "Petite Capitals" }, + { T("pkna"), "Proportional Kana" }, { T("pnum"), "Proportional Figures" }, { T("pref"), "Pre-Base Forms" }, { T("pres"), "Pre-base Substitutions" }, @@ -519,10 +623,12 @@ static const Mapping features[] = { { T("pwid"), "Proportional Widths" }, { T("qwid"), "Quarter Widths" }, { T("rand"), "Randomize" }, + { T("rkrf"), "Rakar Forms" }, { T("rlig"), "Required Ligatures" }, { T("rphf"), "Reph Forms" }, { T("rtbd"), "Right Bounds" }, { T("rtla"), "Right-to-left Alternates" }, + { T("rtlm"), "Right-to-left Mirrored Forms" }, { T("ruby"), "Ruby Notation Forms" }, { T("salt"), "Stylistic Alternates" }, { T("sinf"), "Scientific Inferiors" }, diff --git a/Build/source/texk/lcdf-typetools/libefont/otfname.cc b/Build/source/texk/lcdf-typetools/libefont/otfname.cc index 28d8320a83d..c140da4f39d 100644 --- a/Build/source/texk/lcdf-typetools/libefont/otfname.cc +++ b/Build/source/texk/lcdf-typetools/libefont/otfname.cc @@ -88,14 +88,14 @@ Name::parse_header(ErrorHandler *errh) int len = _str.length(); const uint8_t *data = _str.udata(); if (len == 0) - return errh->error("font has no 'name' table"), -EFAULT; + return errh->error("font has no %<name%> table"), -EFAULT; if (HEADER_SIZE > len) - return errh->error("'name' table too small"), -EFAULT; + return errh->error("%<name%> table too small"), -EFAULT; if (!(data[0] == '\000' && data[1] == '\000')) - return errh->error("bad 'name' version number"), -ERANGE; + return errh->error("bad %<name%> version number"), -ERANGE; int count = USHORT_AT(data + 2); if (HEADER_SIZE + count*NAMEREC_SIZE > len) - return errh->error("'name' table too small"), -EFAULT; + return errh->error("%<name%> table too small"), -EFAULT; return 0; } @@ -152,7 +152,11 @@ Name::utf8_name(const_iterator i) const String Name::english_name(int nameid) const { - return utf8_name(std::find_if(begin(), end(), EnglishPlatformPred(nameid))); + const_iterator end = this->end(); + const_iterator it = std::find_if(begin(), end, PlatformPred(nameid, P_MICROSOFT, E_MS_UNICODE_BMP, L_MS_ENGLISH_AMERICAN)); + if (it == end) + it = std::find_if(begin(), end, PlatformPred(nameid, P_MACINTOSH, E_MAC_ROMAN, 0)); + return utf8_name(it); } bool diff --git a/Build/source/texk/lcdf-typetools/liblcdf/clp.c b/Build/source/texk/lcdf-typetools/liblcdf/clp.c index b4a70c538c4..13394529302 100644 --- a/Build/source/texk/lcdf-typetools/liblcdf/clp.c +++ b/Build/source/texk/lcdf-typetools/liblcdf/clp.c @@ -476,6 +476,7 @@ Clp_NewParser(int argc, const char * const *argv, int nopt, const Clp_Option *op if (!clp || !cli || !iopt || !cli->valtype) goto failed; + clp->opt = -1; clp->negated = 0; clp->have_val = 0; clp->vstr = 0; @@ -1175,15 +1176,18 @@ parse_string_list(Clp_Parser *clp, const char *arg, int complain, void *user_dat } if (complain) { - const char *complaint = (ambiguous ? "ambiguous" : "invalid"); - if (!ambiguous) { + const char *complaint; + if (ambiguous) + complaint = "ambiguous value %<%s%> for option %<%O%>"; + else { + complaint = "unknown value %<%s%> for option %<%O%>"; ambiguous = sl->nitems_invalid_report; for (idx = 0; idx < ambiguous; idx++) ambiguous_values[idx] = idx; } return ambiguity_error (clp, ambiguous, ambiguous_values, sl->items, sl->iopt, - "", "option %<%O%> value %<%s%> is %s", arg, complaint); + "", complaint, arg); } else return 0; } @@ -1820,7 +1824,8 @@ Clp_Next(Clp_Parser *clp) /* Get the next argument or option */ if (!next_argument(clp, cli->option_processing ? 0 : 2)) { clp->val.s = clp->vstr; - return clp->have_val ? Clp_NotOption : Clp_Done; + clp->opt = clp->have_val ? Clp_NotOption : Clp_Done; + return clp->opt; } clp->negated = cli->whole_negated; @@ -1858,7 +1863,7 @@ Clp_Next(Clp_Parser *clp) Clp_OptionError(clp, "unrecognized option %<%s%s%>", cli->option_chars, cli->xtext); - return Clp_BadOption; + return (clp->opt = Clp_BadOption); } /* Set the current option */ @@ -1871,19 +1876,20 @@ Clp_Next(Clp_Parser *clp) || (!cli->iopt[optno].imandatory && !cli->iopt[optno].ioptional)) { if (clp->have_val) { Clp_OptionError(clp, "%<%O%> can%,t take an argument"); - return Clp_BadOption; + clp->opt = Clp_BadOption; } else - return cli->opt[optno].option_id; + clp->opt = cli->opt[optno].option_id; + return clp->opt; } /* Get an argument if we need one, or if it's optional */ /* Sanity-check the argument type. */ opt = &cli->opt[optno]; if (opt->val_type <= 0) - return Clp_Error; + return (clp->opt = Clp_Error); vtpos = val_type_binsearch(cli, opt->val_type); if (vtpos == cli->nvaltype || cli->valtype[vtpos].val_type != opt->val_type) - return Clp_Error; + return (clp->opt = Clp_Error); /* complain == 1 only if the argument was explicitly given, or it is mandatory. */ @@ -1903,14 +1909,16 @@ Clp_Next(Clp_Parser *clp) Clp_OptionError(clp, "%<%O%> requires a non-option argument"); else Clp_OptionError(clp, "%<%O%> requires an argument"); - return Clp_BadOption; + return (clp->opt = Clp_BadOption); } } else if (cli->is_short && !clp->have_val - && cli->xtext[clp_utf8_charlen(cli, cli->xtext)]) + && cli->xtext[clp_utf8_charlen(cli, cli->xtext)]) { /* The -[option]argument case: Assume that the rest of the current string is the argument. */ next_argument(clp, 1); + complain = 1; + } /* Parse the argument */ if (clp->have_val) { @@ -1918,14 +1926,14 @@ Clp_Next(Clp_Parser *clp) if (atr->func(clp, clp->vstr, complain, atr->user_data) <= 0) { /* parser failed */ clp->have_val = 0; - if (cli->iopt[optno].imandatory) - return Clp_BadOption; + if (complain) + return (clp->opt = Clp_BadOption); else Clp_RestoreParser(clp, &clpsave); } } - return opt->option_id; + return (clp->opt = opt->option_id); } diff --git a/Build/source/texk/lcdf-typetools/liblcdf/straccum.cc b/Build/source/texk/lcdf-typetools/liblcdf/straccum.cc index df0380369c4..67db3aea37e 100644 --- a/Build/source/texk/lcdf-typetools/liblcdf/straccum.cc +++ b/Build/source/texk/lcdf-typetools/liblcdf/straccum.cc @@ -67,13 +67,13 @@ StringAccum::assign_out_of_memory() _len = 0; } -bool +char * StringAccum::grow(int want) { // can't append to out-of-memory strings if (_cap < 0) { errno = ENOMEM; - return false; + return 0; } int ncap = (_cap ? (_cap + MEMO_SPACE) * 2 : 128) - MEMO_SPACE; @@ -84,17 +84,46 @@ StringAccum::grow(int want) if (!n) { assign_out_of_memory(); errno = ENOMEM; - return false; + return 0; } n += MEMO_SPACE; if (_s) { - memcpy(n, _s, _cap); + memcpy(n, _s, _len); delete[] (_s - MEMO_SPACE); } _s = n; _cap = ncap; - return true; + return reinterpret_cast<char *>(_s + _len); +} + +int +StringAccum::resize(int len) +{ + assert(len >= 0); + if (len > _cap && !grow(len)) + return -ENOMEM; + else { + _len = len; + return 0; + } +} + +char * +StringAccum::hard_extend(int nadjust, int nreserve) +{ + char *x = grow(_len + nadjust + nreserve); + if (x) + _len += nadjust; + return x; +} + +const char * +StringAccum::c_str() +{ + if (_len < _cap || grow(_len)) + _s[_len] = '\0'; + return reinterpret_cast<char *>(_s); } void @@ -125,22 +154,21 @@ StringAccum::append_utf8_hard(unsigned ch) append((unsigned char) '?'); } -const char * -StringAccum::c_str() -{ - if (_len < _cap || grow(_len)) - _s[_len] = '\0'; - return reinterpret_cast<char *>(_s); -} - void -StringAccum::append_internal_data(const char *s, int len) +StringAccum::hard_append(const char *s, int len) { - if (out_of_memory()) - /* do nothing */; - else if (!_s || _len + len <= _cap) - append_external_data(s, len); - else { + // We must be careful about calls like "sa.append(sa.begin(), sa.end())"; + // a naive implementation might use sa's data after freeing it. + const char *my_s = reinterpret_cast<char *>(_s); + + if (_len + len <= _cap) { + success: + memcpy(_s + _len, s, len); + _len += len; + } else if (s < my_s || s >= my_s + _cap) { + if (grow(_len + len)) + goto success; + } else { unsigned char *old_s = _s; int old_len = _len; @@ -157,6 +185,12 @@ StringAccum::append_internal_data(const char *s, int len) } } +void +StringAccum::append(const char *s) +{ + hard_append(s, strlen(s)); +} + String StringAccum::take_string() { diff --git a/Build/source/texk/lcdf-typetools/liblcdf/string.cc b/Build/source/texk/lcdf-typetools/liblcdf/string.cc index 915121e443c..cd0410de155 100644 --- a/Build/source/texk/lcdf-typetools/liblcdf/string.cc +++ b/Build/source/texk/lcdf-typetools/liblcdf/string.cc @@ -4,7 +4,7 @@ * Eddie Kohler * * Copyright (c) 1999-2000 Massachusetts Institute of Technology - * Copyright (c) 2001-2011 Eddie Kohler + * Copyright (c) 2001-2012 Eddie Kohler * Copyright (c) 2008-2009 Meraki, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -42,14 +42,6 @@ * and its substrings generally share memory. Accessing a character by index * takes O(1) time; so does creating a substring. * - * <h3>Initialization</h3> - * - * The String implementation must be explicitly initialized before use; see - * static_initialize(). Explicit initialization is used because static - * constructors and other automatic initialization tricks don't work in the - * kernel. However, at user level, you can declare a String::Initializer - * object to initialize the library. - * * <h3>Out-of-memory strings</h3> * * When there is not enough memory to create a particular string, a special @@ -266,14 +258,6 @@ String::make_stable(const char *s, int len) } String -String::make_garbage(int len) -{ - String s; - s.append_garbage(len); - return s; -} - -String String::make_fill(int c, int len) { String s; @@ -333,7 +317,7 @@ String::assign(const char *str, int len, bool need_deref) } char * -String::append_garbage(int len) +String::append_uninitialized(int len) { // Appending anything to "out of memory" leaves it as "out of memory" if (len <= 0 || _r.data == &oom_data) @@ -387,7 +371,7 @@ String::append_garbage(int len) } void -String::append(const char *s, int len) +String::append(const char *s, int len, memo_t *memo) { if (!s) { assert(len <= 0); @@ -401,14 +385,17 @@ String::append(const char *s, int len) assign_out_of_memory(); else if (len == 0) /* do nothing */; - else if (!(_r.memo - && s >= _r.memo->real_data - && s + len <= _r.memo->real_data + _r.memo->capacity)) { - if (char *space = append_garbage(len)) + else if (_r.length == 0 && memo && !out_of_memory()) { + deref(); + assign_memo(s, len, memo); + } else if (!(_r.memo + && s >= _r.memo->real_data + && s + len <= _r.memo->real_data + _r.memo->capacity)) { + if (char *space = append_uninitialized(len)) memcpy(space, s, len); } else { String preserve_s(*this); - if (char *space = append_garbage(len)) + if (char *space = append_uninitialized(len)) memcpy(space, s, len); } } @@ -417,7 +404,7 @@ void String::append_fill(int c, int len) { assert(len >= 0); - if (char *space = append_garbage(len)) + if (char *space = append_uninitialized(len)) memset(space, c, len); } @@ -745,7 +732,7 @@ String::align(int n) int offset = reinterpret_cast<uintptr_t>(_r.data) % n; if (offset) { String s; - s.append_garbage(_r.length + n + 1); + s.append_uninitialized(_r.length + n + 1); offset = reinterpret_cast<uintptr_t>(s._r.data) % n; memcpy((char *)s._r.data + n - offset, _r.data, _r.length); s._r.data += n - offset; diff --git a/Build/source/texk/lcdf-typetools/mmafm/mmafm.1 b/Build/source/texk/lcdf-typetools/mmafm/mmafm.1 index 82942ad329e..29d04ec1b4d 100644 --- a/Build/source/texk/lcdf-typetools/mmafm/mmafm.1 +++ b/Build/source/texk/lcdf-typetools/mmafm/mmafm.1 @@ -1,5 +1,5 @@ .\" -*-nroff-*- -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1 b/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1 index 850be8e85f8..663e37c27ee 100644 --- a/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1 +++ b/Build/source/texk/lcdf-typetools/mmpfb/mmpfb.1 @@ -1,5 +1,5 @@ .\" -*-nroff-*- -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1 b/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1 index c3f76691c5b..652d943b38c 100644 --- a/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1 +++ b/Build/source/texk/lcdf-typetools/otfinfo/otfinfo.1 @@ -1,5 +1,5 @@ '\"t -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1 b/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1 index d83263f40b4..13401ec6e09 100644 --- a/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1 +++ b/Build/source/texk/lcdf-typetools/otftotfm/otftotfm.1 @@ -1,5 +1,5 @@ '\"t -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1 b/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1 index 779914d281f..86696ead291 100644 --- a/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1 +++ b/Build/source/texk/lcdf-typetools/t1dotlessj/t1dotlessj.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/t1lint/t1lint.1 b/Build/source/texk/lcdf-typetools/t1lint/t1lint.1 index bebd5fec146..1a056aee1e2 100644 --- a/Build/source/texk/lcdf-typetools/t1lint/t1lint.1 +++ b/Build/source/texk/lcdf-typetools/t1lint/t1lint.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/t1rawafm/t1rawafm.1 b/Build/source/texk/lcdf-typetools/t1rawafm/t1rawafm.1 index 15925e273c3..fd095ccc6ca 100644 --- a/Build/source/texk/lcdf-typetools/t1rawafm/t1rawafm.1 +++ b/Build/source/texk/lcdf-typetools/t1rawafm/t1rawafm.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 index a5a6d98a06c..493eeafc468 100644 --- a/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 +++ b/Build/source/texk/lcdf-typetools/t1reencode/t1reencode.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1 b/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1 index d9b328cc24c..15724f0cad9 100644 --- a/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1 +++ b/Build/source/texk/lcdf-typetools/t1testpage/t1testpage.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1 b/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1 index 9a63e69ac09..d7a84f1c0de 100644 --- a/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1 +++ b/Build/source/texk/lcdf-typetools/ttftotype42/ttftotype42.1 @@ -1,4 +1,4 @@ -.ds V 2.92 +.ds V 2.94 .de M .BR "\\$1" "(\\$2)\\$3" .. diff --git a/Build/source/texk/lcdf-typetools/version.ac b/Build/source/texk/lcdf-typetools/version.ac index 4d356a0d765..b8b6564e89c 100644 --- a/Build/source/texk/lcdf-typetools/version.ac +++ b/Build/source/texk/lcdf-typetools/version.ac @@ -1,5 +1,5 @@ dnl -dnl Copyright (C) 2011 Peter Breitenlohner <tex-live@tug.org> +dnl Copyright (C) 2011, 2012 Peter Breitenlohner <tex-live@tug.org> dnl dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current lcdf-typetools version -m4_define([lcdf_typetools_version], [2.92]) +m4_define([lcdf_typetools_version], [2.94]) |