From 25078167f4333fa5acc0aa69a98490913be13433 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Tue, 10 Nov 2009 10:22:31 +0000 Subject: towards TL2010: utils/t1utils git-svn-id: svn://tug.org/texlive/trunk@15958 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/utils/t1utils/ChangeLog | 28 + Build/source/utils/t1utils/INSTALL | 176 - Build/source/utils/t1utils/Makefile.am | 118 +- Build/source/utils/t1utils/Makefile.am.orig | 49 - Build/source/utils/t1utils/Makefile.in | 247 +- Build/source/utils/t1utils/NEWS | 295 - Build/source/utils/t1utils/README | 81 - Build/source/utils/t1utils/aclocal.m4 | 5 +- Build/source/utils/t1utils/clp.c | 1624 ---- Build/source/utils/t1utils/config.h.in | 12 +- Build/source/utils/t1utils/configure | 8068 ++++++++------------ Build/source/utils/t1utils/configure.ac | 63 +- Build/source/utils/t1utils/configure.in.orig | 118 - Build/source/utils/t1utils/include/lcdf/clp.h | 167 - Build/source/utils/t1utils/include/lcdf/inttypes.h | 34 - Build/source/utils/t1utils/t1ascii.1 | 51 - Build/source/utils/t1utils/t1ascii.c | 306 - Build/source/utils/t1utils/t1asm.1 | 96 - Build/source/utils/t1utils/t1asm.c | 808 -- Build/source/utils/t1utils/t1binary.1 | 42 - Build/source/utils/t1utils/t1binary.c | 280 - Build/source/utils/t1utils/t1disasm.1 | 96 - Build/source/utils/t1utils/t1disasm.c | 779 -- Build/source/utils/t1utils/t1lib.c | 441 -- Build/source/utils/t1utils/t1lib.h | 56 - Build/source/utils/t1utils/t1mac.1 | 62 - Build/source/utils/t1utils/t1mac.c | 1019 --- Build/source/utils/t1utils/t1unmac.1 | 79 - Build/source/utils/t1utils/t1unmac.c | 918 --- Build/source/utils/t1utils/t1utils-1.34/INSTALL | 176 + .../source/utils/t1utils/t1utils-1.34/Makefile.am | 49 + .../source/utils/t1utils/t1utils-1.34/Makefile.in | 711 ++ Build/source/utils/t1utils/t1utils-1.34/NEWS | 295 + Build/source/utils/t1utils/t1utils-1.34/README | 81 + Build/source/utils/t1utils/t1utils-1.34/aclocal.m4 | 903 +++ Build/source/utils/t1utils/t1utils-1.34/clp.c | 1624 ++++ .../source/utils/t1utils/t1utils-1.34/config.h.in | 98 + Build/source/utils/t1utils/t1utils-1.34/configure | 7291 ++++++++++++++++++ .../source/utils/t1utils/t1utils-1.34/configure.in | 118 + .../utils/t1utils/t1utils-1.34/include/lcdf/clp.h | 167 + .../t1utils/t1utils-1.34/include/lcdf/inttypes.h | 34 + Build/source/utils/t1utils/t1utils-1.34/t1ascii.1 | 51 + Build/source/utils/t1utils/t1utils-1.34/t1ascii.c | 306 + Build/source/utils/t1utils/t1utils-1.34/t1asm.1 | 96 + Build/source/utils/t1utils/t1utils-1.34/t1asm.c | 808 ++ Build/source/utils/t1utils/t1utils-1.34/t1binary.1 | 42 + Build/source/utils/t1utils/t1utils-1.34/t1binary.c | 280 + Build/source/utils/t1utils/t1utils-1.34/t1disasm.1 | 96 + Build/source/utils/t1utils/t1utils-1.34/t1disasm.c | 779 ++ Build/source/utils/t1utils/t1utils-1.34/t1lib.c | 441 ++ Build/source/utils/t1utils/t1utils-1.34/t1lib.h | 56 + Build/source/utils/t1utils/t1utils-1.34/t1mac.1 | 62 + Build/source/utils/t1utils/t1utils-1.34/t1mac.c | 1019 +++ Build/source/utils/t1utils/t1utils-1.34/t1unmac.1 | 79 + Build/source/utils/t1utils/t1utils-1.34/t1unmac.c | 918 +++ .../source/utils/t1utils/t1utils-1.34/t1utils.spec | 53 + Build/source/utils/t1utils/t1utils.spec | 53 - 57 files changed, 20303 insertions(+), 12501 deletions(-) delete mode 100644 Build/source/utils/t1utils/INSTALL delete mode 100644 Build/source/utils/t1utils/Makefile.am.orig delete mode 100644 Build/source/utils/t1utils/NEWS delete mode 100644 Build/source/utils/t1utils/README delete mode 100644 Build/source/utils/t1utils/clp.c delete mode 100644 Build/source/utils/t1utils/configure.in.orig delete mode 100644 Build/source/utils/t1utils/include/lcdf/clp.h delete mode 100644 Build/source/utils/t1utils/include/lcdf/inttypes.h delete mode 100644 Build/source/utils/t1utils/t1ascii.1 delete mode 100644 Build/source/utils/t1utils/t1ascii.c delete mode 100644 Build/source/utils/t1utils/t1asm.1 delete mode 100644 Build/source/utils/t1utils/t1asm.c delete mode 100644 Build/source/utils/t1utils/t1binary.1 delete mode 100644 Build/source/utils/t1utils/t1binary.c delete mode 100644 Build/source/utils/t1utils/t1disasm.1 delete mode 100644 Build/source/utils/t1utils/t1disasm.c delete mode 100644 Build/source/utils/t1utils/t1lib.c delete mode 100644 Build/source/utils/t1utils/t1lib.h delete mode 100644 Build/source/utils/t1utils/t1mac.1 delete mode 100644 Build/source/utils/t1utils/t1mac.c delete mode 100644 Build/source/utils/t1utils/t1unmac.1 delete mode 100644 Build/source/utils/t1utils/t1unmac.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/INSTALL create mode 100644 Build/source/utils/t1utils/t1utils-1.34/Makefile.am create mode 100644 Build/source/utils/t1utils/t1utils-1.34/Makefile.in create mode 100644 Build/source/utils/t1utils/t1utils-1.34/NEWS create mode 100644 Build/source/utils/t1utils/t1utils-1.34/README create mode 100644 Build/source/utils/t1utils/t1utils-1.34/aclocal.m4 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/clp.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/config.h.in create mode 100755 Build/source/utils/t1utils/t1utils-1.34/configure create mode 100644 Build/source/utils/t1utils/t1utils-1.34/configure.in create mode 100644 Build/source/utils/t1utils/t1utils-1.34/include/lcdf/clp.h create mode 100644 Build/source/utils/t1utils/t1utils-1.34/include/lcdf/inttypes.h create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1ascii.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1ascii.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1asm.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1asm.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1binary.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1binary.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1disasm.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1disasm.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1lib.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1lib.h create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1mac.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1mac.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1unmac.1 create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1unmac.c create mode 100644 Build/source/utils/t1utils/t1utils-1.34/t1utils.spec delete mode 100644 Build/source/utils/t1utils/t1utils.spec (limited to 'Build/source') diff --git a/Build/source/utils/t1utils/ChangeLog b/Build/source/utils/t1utils/ChangeLog index af2984d1f02..92fa74c2f75 100644 --- a/Build/source/utils/t1utils/ChangeLog +++ b/Build/source/utils/t1utils/ChangeLog @@ -1,3 +1,31 @@ +2009-11-03 Peter Breitenlohner + + * Makefile.am, configure.ac: Proxy build system for TeX Live, + using the t1utils-1.34 distribution tree. + * t1utils-1.34-PATCHES: New directory with patches applied to + the t1utils-1.34 distribution. + +2009-08-23 Peter Breitenlohner + + Avoid maximal compiler warnings. + * configure.ac: Check for strtoul(). + * t1ascii.c (pfa_output_end), t1binary.c (pfb_output_end), + t1asm.c (check_line_charstring, texlive_getline, charstring_start, + charstring_end, get_charstring_token, parse_charstring), + t1disasm.c (disasm_output_end): ANSI C function definitions. + * t1disasm.c (oog_memstr): Unconstify arg1 and result strings. + (eexec_line): Unconstify CharStrings resulting from oog_memstr(). + +2009-08-19 Peter Breitenlohner + + * Makefile.am (AM_CFLAGS), configure.ac: Enable TL style + compiler warnings. + * clp.c (finish_string_list), t1ascii.c (short_usage, usage), + t1asm.c (short_usage, usage), t1binary.c (short_usage, usage), + t1disasm.c (short_usage, usage), t1mac.c (short_usage, usage), + t1unmac.c (short_usage, usage, check_appledouble, translate_binhex, + check_binhex_crc, check_binhex): Declare as static. + 2009-06-12 Francois Charette * t1asm.c: rename getline to texlive_getline. diff --git a/Build/source/utils/t1utils/INSTALL b/Build/source/utils/t1utils/INSTALL deleted file mode 100644 index 95d84c820fb..00000000000 --- a/Build/source/utils/t1utils/INSTALL +++ /dev/null @@ -1,176 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. - diff --git a/Build/source/utils/t1utils/Makefile.am b/Build/source/utils/t1utils/Makefile.am index 8453ed602cd..e48b742b7c3 100644 --- a/Build/source/utils/t1utils/Makefile.am +++ b/Build/source/utils/t1utils/Makefile.am @@ -1,53 +1,73 @@ -## Process this file with automake to produce Makefile.in +## Makefile.am for the TeX Live subdirectory utils/t1utils/ +## +## Copyright (C) 2008, 2009 Peter Breitenlohner +## You may freely use, modify and/or distribute this file. +## +#************************************************************************ +# +# Adapted for TeX Live from t1utils/Makefile.am +# +#************************************************************************ +## +ACLOCAL_AMFLAGS = -I ../../m4 -bin_PROGRAMS = t1ascii t1binary t1asm t1disasm t1unmac t1mac -man_MANS = t1ascii.1 t1binary.1 t1asm.1 t1disasm.1 t1unmac.1 t1mac.1 - -t1ascii_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1ascii.c -t1binary_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1binary.c -t1asm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1asm.c -t1disasm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1disasm.c -t1unmac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1unmac.c -t1mac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1mac.c - -AM_CPPFLAGS = -I$(top_srcdir)/include -LDADD = @LIBOBJS@ +## We want to re-distribute the whole original t1utils source tree. +## +## With current automake (1.10.2) 'make distcheck' fails when +## DISTFILES contains a directory and files in that directory. +## Thus nodist_* for all files in $(T1UTILS_TREE). +EXTRA_DIST = $(T1UTILS_TREE) -EXTRA_DIST = $(man_MANS) t1utils.spec - -srclinks: - cd $(top_srcdir); test -d include/lcdf || mkdir -p include/lcdf - cd $(top_srcdir); for i in clp.h inttypes.h; do \ - ln -sf ~/src/liblcdf/include/lcdf/$$i include/lcdf/$$i; done - cd $(top_srcdir); for i in clp.c strerror.c; do \ - ln -sf ~/src/liblcdf/liblcdf/$$i $$i; done - -versionize: - perl -pi -e "s/^\\.ds V.*/.ds V $(VERSION)/;" t1ascii.1 t1binary.1 t1disasm.1 t1asm.1 t1unmac.1 t1mac.1 - perl -pi -e 's/^Version:(\s*).*/Version:$${1}$(VERSION)/; s/$(PACKAGE)-[\w.]+\.tar\.gz/$(PACKAGE)-$(VERSION).tar.gz/;' t1utils.spec - perl -pi -e 's/VERSION [\d.ab]+/VERSION $(VERSION)/;' README - -rpm: dist - buildarch=`rpm --showrc | awk '/^build arch/ { print $$4; }'` ; \ - mkdir -p /tmp/rpm-t1u/SOURCES /tmp/rpm-t1u/RPMS/$$buildarch \ - /tmp/rpm-t1u/BUILD ; \ - echo 'include: /usr/lib/rpm/rpmrc' > /tmp/rpm-t1u/rc ; \ - echo 'macrofiles: /usr/lib/rpm/macros:/tmp/rpm-t1u/macros' >> /tmp/rpm-t1u/rc ; \ - echo '%_topdir /tmp/rpm-t1u' > /tmp/rpm-t1u/macros ; \ - cp $(PACKAGE)-$(VERSION).tar.gz /tmp/rpm-t1u/SOURCES ; \ - rpmbuild --rcfile /tmp/rpm-t1u/rc -bb t1utils.spec ; \ - cp /tmp/rpm-t1u/RPMS/$$buildarch/*.rpm . - rm -rf /tmp/rpm-t1u - -.PHONY: srclinks versionize rpm - -## Original files from t1utils distribution +## Patches applied to the original source tree ## -EXTRA_DIST += Makefile.am.orig configure.in.orig +EXTRA_DIST += $(T1UTILS_TREE)-PATCHES + +# in case of an SVN repository +dist-hook: + rm -rf `find $(distdir) -name .svn` + +INCLUDES = -I$(top_srcdir)/$(T1UTILS_TREE)/include +AM_CFLAGS = $(WARNING_CFLAGS) + +bin_PROGRAMS = t1ascii t1binary t1asm t1disasm t1unmac t1mac + +dist_man_MANS = \ + $(T1UTILS_TREE)/t1ascii.1 \ + $(T1UTILS_TREE)/t1binary.1 \ + $(T1UTILS_TREE)/t1asm.1 \ + $(T1UTILS_TREE)/t1disasm.1 \ + $(T1UTILS_TREE)/t1unmac.1 \ + $(T1UTILS_TREE)/t1mac.1 + +t1ascii_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1ascii.c + +t1binary_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1binary.c + +t1asm_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1asm.c + +t1disasm_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1disasm.c + +t1unmac_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1unmac.c + +t1mac_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1mac.c + +LDADD = @LIBOBJS@ diff --git a/Build/source/utils/t1utils/Makefile.am.orig b/Build/source/utils/t1utils/Makefile.am.orig deleted file mode 100644 index f31a0aadbf7..00000000000 --- a/Build/source/utils/t1utils/Makefile.am.orig +++ /dev/null @@ -1,49 +0,0 @@ -## Process this file with automake to produce Makefile.in -AUTOMAKE_OPTIONS = foreign check-news - -bin_PROGRAMS = t1ascii t1binary t1asm t1disasm t1unmac t1mac -man_MANS = t1ascii.1 t1binary.1 t1asm.1 t1disasm.1 t1unmac.1 t1mac.1 - -t1ascii_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1ascii.c -t1binary_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1binary.c -t1asm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1asm.c -t1disasm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1disasm.c -t1unmac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1unmac.c -t1mac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1mac.c - -AM_CPPFLAGS = -I$(top_srcdir)/include -LDADD = @LIBOBJS@ - -EXTRA_DIST = $(man_MANS) t1utils.spec - -srclinks: - cd $(top_srcdir); test -d include/lcdf || mkdir -p include/lcdf - cd $(top_srcdir); for i in clp.h inttypes.h; do \ - ln -sf ~/src/liblcdf/include/lcdf/$$i include/lcdf/$$i; done - cd $(top_srcdir); for i in clp.c strerror.c; do \ - ln -sf ~/src/liblcdf/liblcdf/$$i $$i; done - -versionize: - perl -pi -e "s/^\\.ds V.*/.ds V $(VERSION)/;" t1ascii.1 t1binary.1 t1disasm.1 t1asm.1 t1unmac.1 t1mac.1 - perl -pi -e 's/^Version:(\s*).*/Version:$${1}$(VERSION)/; s/$(PACKAGE)-[\w.]+\.tar\.gz/$(PACKAGE)-$(VERSION).tar.gz/;' t1utils.spec - perl -pi -e 's/VERSION [\d.ab]+/VERSION $(VERSION)/;' README - -rpm: dist - buildarch=`rpm --showrc | awk '/^build arch/ { print $$4; }'` ; \ - mkdir -p /tmp/rpm-t1u/SOURCES /tmp/rpm-t1u/RPMS/$$buildarch \ - /tmp/rpm-t1u/BUILD ; \ - echo 'include: /usr/lib/rpm/rpmrc' > /tmp/rpm-t1u/rc ; \ - echo 'macrofiles: /usr/lib/rpm/macros:/tmp/rpm-t1u/macros' >> /tmp/rpm-t1u/rc ; \ - echo '%_topdir /tmp/rpm-t1u' > /tmp/rpm-t1u/macros ; \ - cp $(PACKAGE)-$(VERSION).tar.gz /tmp/rpm-t1u/SOURCES ; \ - rpmbuild --rcfile /tmp/rpm-t1u/rc -bb t1utils.spec ; \ - cp /tmp/rpm-t1u/RPMS/$$buildarch/*.rpm . - rm -rf /tmp/rpm-t1u - -.PHONY: srclinks versionize rpm diff --git a/Build/source/utils/t1utils/Makefile.in b/Build/source/utils/t1utils/Makefile.in index 44d256bce66..32decabba94 100644 --- a/Build/source/utils/t1utils/Makefile.in +++ b/Build/source/utils/t1utils/Makefile.in @@ -35,7 +35,7 @@ POST_UNINSTALL = : bin_PROGRAMS = t1ascii$(EXEEXT) t1binary$(EXEEXT) t1asm$(EXEEXT) \ t1disasm$(EXEEXT) t1unmac$(EXEEXT) t1mac$(EXEEXT) subdir = . -DIST_COMMON = README $(am__configure_deps) \ +DIST_COMMON = $(am__configure_deps) $(dist_man_MANS) \ $(srcdir)/../../build-aux/depcomp \ $(srcdir)/../../build-aux/install-sh \ $(srcdir)/../../build-aux/missing \ @@ -46,9 +46,10 @@ DIST_COMMON = README $(am__configure_deps) \ ../../build-aux/install-sh ../../build-aux/ltmain.sh \ ../../build-aux/missing ../../build-aux/mkinstalldirs \ ../../build-aux/texinfo.tex ../../build-aux/ylwrap ChangeLog \ - INSTALL NEWS strerror.c + strerror.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-warnings.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -118,7 +119,7 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' man1dir = $(mandir)/man1 NROFF = nroff -MANS = $(man_MANS) +MANS = $(dist_man_MANS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -128,7 +129,7 @@ am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr "$(distdir)"; }; } -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 +DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print @@ -170,12 +171,15 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +T1UTILS_TREE = @T1UTILS_TREE@ VERSION = @VERSION@ +WARNING_CFLAGS = @WARNING_CFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -218,29 +222,55 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -man_MANS = t1ascii.1 t1binary.1 t1asm.1 t1disasm.1 t1unmac.1 t1mac.1 -t1ascii_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1ascii.c -t1binary_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1binary.c +#************************************************************************ +# +# Adapted for TeX Live from t1utils/Makefile.am +# +#************************************************************************ +ACLOCAL_AMFLAGS = -I ../../m4 +EXTRA_DIST = $(T1UTILS_TREE) $(T1UTILS_TREE)-PATCHES +INCLUDES = -I$(top_srcdir)/$(T1UTILS_TREE)/include +AM_CFLAGS = $(WARNING_CFLAGS) +dist_man_MANS = \ + $(T1UTILS_TREE)/t1ascii.1 \ + $(T1UTILS_TREE)/t1binary.1 \ + $(T1UTILS_TREE)/t1asm.1 \ + $(T1UTILS_TREE)/t1disasm.1 \ + $(T1UTILS_TREE)/t1unmac.1 \ + $(T1UTILS_TREE)/t1mac.1 + +t1ascii_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1ascii.c + +t1binary_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1binary.c + +t1asm_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1asm.c + +t1disasm_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1disasm.c + +t1unmac_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1unmac.c + +t1mac_SOURCES = \ + $(T1UTILS_TREE)/clp.c \ + $(T1UTILS_TREE)/t1lib.c \ + $(T1UTILS_TREE)/t1mac.c -t1asm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1asm.c - -t1disasm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1disasm.c - -t1unmac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1unmac.c - -t1mac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ - clp.c t1lib.h t1lib.c t1mac.c - -AM_CPPFLAGS = -I$(top_srcdir)/include LDADD = @LIBOBJS@ -EXTRA_DIST = $(man_MANS) t1utils.spec Makefile.am.orig \ - configure.in.orig all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -382,12 +412,124 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -install-man1: $(man_MANS) + +clp.o: $(T1UTILS_TREE)/clp.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clp.o -MD -MP -MF $(DEPDIR)/clp.Tpo -c -o clp.o `test -f '$(T1UTILS_TREE)/clp.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/clp.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/clp.Tpo $(DEPDIR)/clp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/clp.c' object='clp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clp.o `test -f '$(T1UTILS_TREE)/clp.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/clp.c + +clp.obj: $(T1UTILS_TREE)/clp.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clp.obj -MD -MP -MF $(DEPDIR)/clp.Tpo -c -o clp.obj `if test -f '$(T1UTILS_TREE)/clp.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/clp.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/clp.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/clp.Tpo $(DEPDIR)/clp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/clp.c' object='clp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clp.obj `if test -f '$(T1UTILS_TREE)/clp.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/clp.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/clp.c'; fi` + +t1lib.o: $(T1UTILS_TREE)/t1lib.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1lib.o -MD -MP -MF $(DEPDIR)/t1lib.Tpo -c -o t1lib.o `test -f '$(T1UTILS_TREE)/t1lib.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1lib.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1lib.Tpo $(DEPDIR)/t1lib.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1lib.c' object='t1lib.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1lib.o `test -f '$(T1UTILS_TREE)/t1lib.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1lib.c + +t1lib.obj: $(T1UTILS_TREE)/t1lib.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1lib.obj -MD -MP -MF $(DEPDIR)/t1lib.Tpo -c -o t1lib.obj `if test -f '$(T1UTILS_TREE)/t1lib.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1lib.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1lib.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1lib.Tpo $(DEPDIR)/t1lib.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1lib.c' object='t1lib.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1lib.obj `if test -f '$(T1UTILS_TREE)/t1lib.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1lib.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1lib.c'; fi` + +t1ascii.o: $(T1UTILS_TREE)/t1ascii.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1ascii.o -MD -MP -MF $(DEPDIR)/t1ascii.Tpo -c -o t1ascii.o `test -f '$(T1UTILS_TREE)/t1ascii.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1ascii.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1ascii.Tpo $(DEPDIR)/t1ascii.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1ascii.c' object='t1ascii.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1ascii.o `test -f '$(T1UTILS_TREE)/t1ascii.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1ascii.c + +t1ascii.obj: $(T1UTILS_TREE)/t1ascii.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1ascii.obj -MD -MP -MF $(DEPDIR)/t1ascii.Tpo -c -o t1ascii.obj `if test -f '$(T1UTILS_TREE)/t1ascii.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1ascii.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1ascii.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1ascii.Tpo $(DEPDIR)/t1ascii.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1ascii.c' object='t1ascii.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1ascii.obj `if test -f '$(T1UTILS_TREE)/t1ascii.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1ascii.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1ascii.c'; fi` + +t1asm.o: $(T1UTILS_TREE)/t1asm.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1asm.o -MD -MP -MF $(DEPDIR)/t1asm.Tpo -c -o t1asm.o `test -f '$(T1UTILS_TREE)/t1asm.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1asm.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1asm.Tpo $(DEPDIR)/t1asm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1asm.c' object='t1asm.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1asm.o `test -f '$(T1UTILS_TREE)/t1asm.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1asm.c + +t1asm.obj: $(T1UTILS_TREE)/t1asm.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1asm.obj -MD -MP -MF $(DEPDIR)/t1asm.Tpo -c -o t1asm.obj `if test -f '$(T1UTILS_TREE)/t1asm.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1asm.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1asm.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1asm.Tpo $(DEPDIR)/t1asm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1asm.c' object='t1asm.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1asm.obj `if test -f '$(T1UTILS_TREE)/t1asm.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1asm.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1asm.c'; fi` + +t1binary.o: $(T1UTILS_TREE)/t1binary.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1binary.o -MD -MP -MF $(DEPDIR)/t1binary.Tpo -c -o t1binary.o `test -f '$(T1UTILS_TREE)/t1binary.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1binary.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1binary.Tpo $(DEPDIR)/t1binary.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1binary.c' object='t1binary.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1binary.o `test -f '$(T1UTILS_TREE)/t1binary.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1binary.c + +t1binary.obj: $(T1UTILS_TREE)/t1binary.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1binary.obj -MD -MP -MF $(DEPDIR)/t1binary.Tpo -c -o t1binary.obj `if test -f '$(T1UTILS_TREE)/t1binary.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1binary.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1binary.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1binary.Tpo $(DEPDIR)/t1binary.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1binary.c' object='t1binary.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1binary.obj `if test -f '$(T1UTILS_TREE)/t1binary.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1binary.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1binary.c'; fi` + +t1disasm.o: $(T1UTILS_TREE)/t1disasm.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1disasm.o -MD -MP -MF $(DEPDIR)/t1disasm.Tpo -c -o t1disasm.o `test -f '$(T1UTILS_TREE)/t1disasm.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1disasm.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1disasm.Tpo $(DEPDIR)/t1disasm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1disasm.c' object='t1disasm.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1disasm.o `test -f '$(T1UTILS_TREE)/t1disasm.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1disasm.c + +t1disasm.obj: $(T1UTILS_TREE)/t1disasm.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1disasm.obj -MD -MP -MF $(DEPDIR)/t1disasm.Tpo -c -o t1disasm.obj `if test -f '$(T1UTILS_TREE)/t1disasm.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1disasm.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1disasm.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1disasm.Tpo $(DEPDIR)/t1disasm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1disasm.c' object='t1disasm.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1disasm.obj `if test -f '$(T1UTILS_TREE)/t1disasm.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1disasm.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1disasm.c'; fi` + +t1mac.o: $(T1UTILS_TREE)/t1mac.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1mac.o -MD -MP -MF $(DEPDIR)/t1mac.Tpo -c -o t1mac.o `test -f '$(T1UTILS_TREE)/t1mac.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1mac.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1mac.Tpo $(DEPDIR)/t1mac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1mac.c' object='t1mac.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1mac.o `test -f '$(T1UTILS_TREE)/t1mac.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1mac.c + +t1mac.obj: $(T1UTILS_TREE)/t1mac.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1mac.obj -MD -MP -MF $(DEPDIR)/t1mac.Tpo -c -o t1mac.obj `if test -f '$(T1UTILS_TREE)/t1mac.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1mac.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1mac.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1mac.Tpo $(DEPDIR)/t1mac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1mac.c' object='t1mac.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1mac.obj `if test -f '$(T1UTILS_TREE)/t1mac.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1mac.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1mac.c'; fi` + +t1unmac.o: $(T1UTILS_TREE)/t1unmac.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1unmac.o -MD -MP -MF $(DEPDIR)/t1unmac.Tpo -c -o t1unmac.o `test -f '$(T1UTILS_TREE)/t1unmac.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1unmac.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1unmac.Tpo $(DEPDIR)/t1unmac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1unmac.c' object='t1unmac.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1unmac.o `test -f '$(T1UTILS_TREE)/t1unmac.c' || echo '$(srcdir)/'`$(T1UTILS_TREE)/t1unmac.c + +t1unmac.obj: $(T1UTILS_TREE)/t1unmac.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT t1unmac.obj -MD -MP -MF $(DEPDIR)/t1unmac.Tpo -c -o t1unmac.obj `if test -f '$(T1UTILS_TREE)/t1unmac.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1unmac.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1unmac.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/t1unmac.Tpo $(DEPDIR)/t1unmac.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(T1UTILS_TREE)/t1unmac.c' object='t1unmac.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o t1unmac.obj `if test -f '$(T1UTILS_TREE)/t1unmac.c'; then $(CYGPATH_W) '$(T1UTILS_TREE)/t1unmac.c'; else $(CYGPATH_W) '$(srcdir)/$(T1UTILS_TREE)/t1unmac.c'; fi` +install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list=''; test -n "$(man1dir)" || exit 0; \ { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ @@ -413,7 +555,7 @@ uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ @@ -474,12 +616,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @case `sed 15q $(srcdir)/NEWS` in \ - *"$(VERSION)"*) : ;; \ - *) \ - echo "NEWS not updated; not releasing" 1>&2; \ - exit 1;; \ - esac @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ @@ -524,6 +660,9 @@ distdir: $(DISTFILES) || exit 1; \ fi; \ done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ @@ -533,6 +672,7 @@ distdir: $(DISTFILES) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) + dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) @@ -560,7 +700,6 @@ dist-zip: distdir dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then @@ -748,11 +887,11 @@ uninstall-man: uninstall-man1 .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ + dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-man1 install-pdf \ @@ -764,31 +903,9 @@ uninstall-man: uninstall-man1 uninstall-man1 -srclinks: - cd $(top_srcdir); test -d include/lcdf || mkdir -p include/lcdf - cd $(top_srcdir); for i in clp.h inttypes.h; do \ - ln -sf ~/src/liblcdf/include/lcdf/$$i include/lcdf/$$i; done - cd $(top_srcdir); for i in clp.c strerror.c; do \ - ln -sf ~/src/liblcdf/liblcdf/$$i $$i; done - -versionize: - perl -pi -e "s/^\\.ds V.*/.ds V $(VERSION)/;" t1ascii.1 t1binary.1 t1disasm.1 t1asm.1 t1unmac.1 t1mac.1 - perl -pi -e 's/^Version:(\s*).*/Version:$${1}$(VERSION)/; s/$(PACKAGE)-[\w.]+\.tar\.gz/$(PACKAGE)-$(VERSION).tar.gz/;' t1utils.spec - perl -pi -e 's/VERSION [\d.ab]+/VERSION $(VERSION)/;' README - -rpm: dist - buildarch=`rpm --showrc | awk '/^build arch/ { print $$4; }'` ; \ - mkdir -p /tmp/rpm-t1u/SOURCES /tmp/rpm-t1u/RPMS/$$buildarch \ - /tmp/rpm-t1u/BUILD ; \ - echo 'include: /usr/lib/rpm/rpmrc' > /tmp/rpm-t1u/rc ; \ - echo 'macrofiles: /usr/lib/rpm/macros:/tmp/rpm-t1u/macros' >> /tmp/rpm-t1u/rc ; \ - echo '%_topdir /tmp/rpm-t1u' > /tmp/rpm-t1u/macros ; \ - cp $(PACKAGE)-$(VERSION).tar.gz /tmp/rpm-t1u/SOURCES ; \ - rpmbuild --rcfile /tmp/rpm-t1u/rc -bb t1utils.spec ; \ - cp /tmp/rpm-t1u/RPMS/$$buildarch/*.rpm . - rm -rf /tmp/rpm-t1u - -.PHONY: srclinks versionize rpm +# in case of an SVN repository +dist-hook: + rm -rf `find $(distdir) -name .svn` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/Build/source/utils/t1utils/NEWS b/Build/source/utils/t1utils/NEWS deleted file mode 100644 index 5121a2ad78e..00000000000 --- a/Build/source/utils/t1utils/NEWS +++ /dev/null @@ -1,295 +0,0 @@ -T1utils NEWS - -Version 1.34 1.Mar.2008 - -* Add '--enable-multiplatform' (requested by Karl Berry). - - -Version 1.33 8.Jan.2008 - -* Several minor cleanups. - - -Version 1.32 23.Feb.2004 - -* t1disasm: Avoid memory corruption bug (strings passed to eexec_line are - not null terminated). Reported by Werner Lemberg. - - -Version 1.31 8.Feb.2004 - -* All: Support fonts where the eexec-encrypted portion is binary, and the - first ciphertext byte is 0. Reported by Werner Lemberg. - - -Version 1.30 6.Jan.2004 - -* All: Support fonts, such as those in PostScript files printed by - acroread, where "currentfile eexec" is not followed by a newline. - - -Version 1.29 6.Oct.2003 - -* t1disasm: Support odd fonts where a character is defined on the - "/CharStrings" line. Reported by Werner Lemberg. - - -Version 1.28 7.Aug.2003 - -* Address build problems reported by Nelson H.F. Beebe. - - -Version 1.27 26.Mar.2003 - -* t1ascii: Add optional warning when output lines are longer than 255 - characters. Requested by Werner Lemberg . - - -Version 1.26 16.Apr.2002 - -* t1mac: Fix buglet (C++ comment, and temporary file left behind). Reported - by Vladimir Volovich . - - -Version 1.25 3.Jan.2002 - -* t1asm: Beware extra characters after `currentfile closefile'. Reported by - Luc Devroye . - - -Version 1.24 6.Sep.2001 - -* Fixed compilation bugs on various platforms reported by Nelson H. F. - Beebe . - - -Version 1.23 18.Jun.2001 - -* Fixed Macintosh file bugs: the MacBinary CRC was calculated incorrectly, - and extended finder flags were set to random values in BinHex output. - Reported, and patch provided, by Tom Kacvinsky . - - -Version 1.22 6.Mar.2001 - -* Fixed bug on processing PFA fonts with DOS line endings. The symptom was - t1binary producing strange/unusable fonts. Problem: the all-zeros line, - which signals the end of the font's binary section, was not being - recognized because of an extra '\r'. This has been a bug since version - 1.13 -- chagrin! Problem reported by Han The Thanh - . - - -Version 1.21 9.Feb.2001 - -* t1ascii, t1asm, t1unmac: Raised minimum PFA line length to 8. The Adobe - spec may imply that there cannot be whitespace within the first 8 bytes - of an ASCII-encoded eexec section; it's somewhat ambiguous. Reported by - Rainer Menzner . - - -Version 1.20 22.Jun.2000 - -* t1asm: Fixed bug where `t1asm -a' would give a `warning: line length - raised to 4' error message. Reported by Tom Kacvinsky . - - -Version 1.19 3.May.2000 - -* t1mac: Generated Macintosh fonts now use a custom-drawn icon set, rather - than Adobe's default. They also have a t1utils-specific creator signature - (T1UT), and their file information mentions t1utils. - -* t1mac: Added the `--filename' option. - - -Version 1.18 2.May.2000 - -* t1mac: Fixed bug where generated files appeared corrupted to Macintoshes. - Reported by Marten Thavenius . - - -Version 1.17 27.Apr.2000 - -* Added new program, `t1mac', which translates PFA or PFB fonts into - Macintosh-style fonts. T1mac can output in MacBinary, AppleSingle, - AppleDouble, or BinHex format. Suggested by Marten Thavenius - . - -* t1unmac: Added support for BinHex. - -* t1unmac: Fixed bugs in manual page and program options. - - -Version 1.16 25.Apr.2000 - -* t1unmac: Supports AppleSingle and AppleDouble files with the - `--applesingle/double' option. Requested by Kent Boortz - . - - -Version 1.15 4.Apr.2000 - -* t1ascii, t1binary, and t1disasm: Fixed bad error message. - -* t1unmac: Generates PFB fonts by default. - - -Version 1.14 25.Aug.1999 - -* t1asm: Version 1.13 produced complete crap output. My test cases were too - limited to catch this. Found by Rainer Menzner - . - - -Version 1.13 2.Aug.1999 - -* t1disasm: Complete rewrite. It now uses t1lib.c functions; the goal is to - handle PFA and PFB fonts consistently. This has been extensively tested, - but there may be bugs. - -* t1disasm, t1asm: Fixed to support fonts with multiple Subrs and - CharStrings sections, like some old Oblique fonts. - -* PFA minimum line length raised to 4. - -* t1ascii, t1binary, t1disasm: Changes in t1lib.c to support reading binary - PFA fonts. Requested by Tom Kacvinsky . - - -Version 1.12 1.Aug.1999 - -* t1ascii, t1binary, t1asm, t1disasm: Support fonts with whitespace - following the "currentfile eexec" line. Embedded fonts in PostScript - generated by Acrobat Reader have this property. Reported by Tom Kacvinsky - . - -* t1ascii, t1asm, t1unmac: Use lowercase hex digits instead of uppercase. - -* t1unmac: Added `--line-length' option for PFA output. - - -Version 1.11 29.May.1999 - -* Bug fix in t1asm/t1disasm: if a `readhexstring' procedure was defined, we - got confused. Reported by Luc Devroye . - -* t1binary now has a maximum block length of 2^32 - 1. "Feature" requested - by Werner Lemberg . - -* t1ascii and t1binary each accept both PFA and PFB fonts. If you pass an - ASCII font (PFA) to t1ascii, it will output it mostly unchanged, and - similarly for PFB fonts and t1binary. The `-l' options will still take - effect, so you can use `t1ascii -l 60' to shorten the encrypted line - lengths of a PFA font. t1ascii also does some newline translation - (changes carriage returns to newlines). - - -Version 1.10.1 12.Apr.1999 - -* t1asm: Fixed bug when `-l' option wasn't provided. Caught by Giuseppe - Ghibò . - - -Version 1.10 11.Apr.1999 - -* t1asm/t1disasm: Provide support for Type1C (Compact Font Format) font - files. These fonts have unencrypted character strings, signalled by a - negative lenIV value. Suggestion and patch thanks to Tom Kacvinsky - . - -* t1ascii/t1asm: Added `-l/--line-length' option to control maximum - encrypted line length. Suggestion thanks to Giuseppe Ghibò - . - - -Version 1.9 14.Feb.1999 - -* t1asm/t1disasm: Be more robust on fonts that don't end in `mark - currentfile closefile'. John Vromans provided a - font that ended with `mark' on one line and `currentfile closefile' on - another; t1asm and t1disasm did not recognize the encrypted section of - the font had ended, and generated some garbage. - - -Version 1.8 2.Jan.1999 - -* Added some more Type 2 commands (flex, flex1, hflex, hflex1) from a - revision of the Type 2 spec. (I wouldn't have known about this except for - CurveSoft's revised t1utils package, available at - http://www.curvesoft.com. These t1utils are more up-to-date than theirs, - however.) - -* t1asm: Fixed one Type 2 command's translation (cntrmask was incorrectly - mapped to 18, not 20). - - -Version 1.7.2 11.Dec.1998 - -* Integrated patches from Jan-Jaap van der Heijden - to support building t1utils under - 32-bit Windows. - - -Version 1.7.1 5.Dec.1998 - -* The t1utils package now uses automake. - - -Version 1.7 27.Nov.1998 - -* t1asm: Should now work with fonts that have no /Subrs sections. Previously, - assembling such a font would silently fail; all the character definitions - would be mistaken for procedures and t1asm wouldn't translate them. Problem - noticed and fix suggested by Tom Kacvinsky . - -* t1disasm: Removed spurious debugging output and improved warning message - about unknown charstring commands. - -* Changed fgetc/fputc into getc/putc. - - -Version 1.6 27.Sep.1998 - -* `--help' now prints to stdout, following the GNU Coding Standards. - -* Makefiles: Added `make uninstall' target, enabled `./configure's - program name transformations, made VPATH builds possible. - - -Version 1.5.2 6.Aug.1998 - -* t1asm/t1disasm: Changed unknown charstring commands at the request of - Werner Lemberg and LEE Chun-Yu. An unknown escape in the charstring, like - 12 X, is translated to "escape_X" rather than "UNKNOWN_12_X". - - -Version 1.5.1 31.May.1998 - -* t1unmac did not actually understand the -r and -b options. Fixed. - -* t1unmac: Added better diagnostics to help you diagnose seeking problems. - - -Version 1.5 5.Mar.1998 - -* Initial release with Eddie Kohler as maintainer. - -* All: Updated to the GNU program behavior standards (long options, --help, - --version). Banners removed. Added more error messages. - -* t1binary: Removed fixed limit on line length. - -* t1binary: Supports Macintosh files, whose lines end in `\r'. - -* t1binary: Supports an odd number of hex digits in a line. - -* t1asm/t1disasm: Added support for Type 2 commands like `blend' and `add', - which also appear in some multiple master fonts like Adobe Jenson. - -* t1asm/t1disasm: Added support for unknown charstring commands. t1disasm - translates an unknown command #X to "UNKNOWN_X", and t1asm does the reverse. - -* t1asm/t1unmac: Changed default output to PFB. - -* t1unmac: Used to be called `unpost'. `t1unmac' is a much better name. diff --git a/Build/source/utils/t1utils/README b/Build/source/utils/t1utils/README deleted file mode 100644 index 125ffc55bda..00000000000 --- a/Build/source/utils/t1utils/README +++ /dev/null @@ -1,81 +0,0 @@ -T1UTILS VERSION 1.34 NOTES -========================== - - You need an ANSI C compiler, such as gcc. - - Just type `./configure', then `make'. `make install' will build and -install the utilities and their manual pages. - - `./configure' accepts the usual options. See `INSTALL' for more -details. The most commonly used option is `--prefix', which can be used -to install the utilities in a place other than /usr/local. - - Changes since version 1.2 (c) 1998-2008 Eddie Kohler, under the same -redistribution copyright as I. Lee Hetherington's. See below for I. Lee -Hetherington's original README from 1992, updated slightly for today's -t1utils. - -Eddie Kohler -ekohler@gmail.com - -#################################################################### - -t1utils is a collection of simple type-1 font manipulation programs. -Together, they allow you to convert between PFA (ASCII) and PFB (binary) -formats, disassemble PFA or PFB files into human-readable form, reassemble -them into PFA or PFB format. Additionally you can extract font resources -from a Macintosh font file (ATM/Laserwriter), or create a Macintosh Type 1 -font file from a PFA or PFB font. - -There are currently six programs: - -t1ascii converts PFB files to PFA format. - -t1binary converts PFA files to PFB format. - -t1disasm disassembles a type-1 font (PFA or PFB format) into a - raw, human-readable text form for subsequent hand - editing, tweaking, hint fixing, etc... - -t1asm assembles type-1 font into PFA or PFB format from - human-readable form produced by t1disasm. - -t1unmac extracts POST resources from a Macintosh type-1 file - (ATM/Laserwriter) into PFA or PFB format for use outside - the Macintosh environment. The Macintosh file should be - stored in MacBinary, AppleSingle, AppleDouble, or BinHex - format, or as a raw resource fork. Note that t1unmac does - not have to run on a Macintosh, but makes Macintosh type-1 - fonts available to Unix machines and PCs. - -t1mac creates a Macintosh Type 1 file from a PFA or PFB-format - Type 1 font. Writes the Macintosh file in MacBinary, - AppleSingle, AppleDouble, or BinHex format, or as a raw - resource fork. WARNING: This will not suffice to use the - new font on a Macintosh, as Macintoshes cannot read raw - Type 1 fonts. You will need to create a font suitcase - containing bitmap fonts if you do not have such a suitcase - for the font already. T1utils cannot help you do this. - -... - -Thanks to Kai-Uwe Herbing (herbing@netmbx.netmbx.de) for the MS-DOS -port (Microsoft C/C++ compiler). - -The copyright on all of the tools in t1utils looks like: - - Copyright (c) 1992 by I. Lee Hetherington, all rights - reserved. - - Permission is hereby granted to use, modify, and distribute - this program for any purpose provided this copyright notice - and the one below remain intact. - -Note that these tools should not be used to illegally copy type-1 font -programs. Typeface design is an intricate art that should be -rewarded. - -I. Lee Hetherington -ilh@lcs.mit.edu - -#################################################################### diff --git a/Build/source/utils/t1utils/aclocal.m4 b/Build/source/utils/t1utils/aclocal.m4 index d360465f230..5caae98848d 100644 --- a/Build/source/utils/t1utils/aclocal.m4 +++ b/Build/source/utils/t1utils/aclocal.m4 @@ -13,8 +13,8 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],, +[m4_warning([this file was generated for autoconf 2.64. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) @@ -989,3 +989,4 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([../../m4/kpse-warnings.m4]) diff --git a/Build/source/utils/t1utils/clp.c b/Build/source/utils/t1utils/clp.c deleted file mode 100644 index aa99f34f40e..00000000000 --- a/Build/source/utils/t1utils/clp.c +++ /dev/null @@ -1,1624 +0,0 @@ -/* -*- related-file-name: "../include/lcdf/clp.h" -*- */ -/* clp.c - Complete source code for CLP. - * This file is part of CLP, the command line parser package. - * - * Copyright (c) 1997-2006 Eddie Kohler, kohler@cs.ucla.edu - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, subject to the conditions - * listed in the Click LICENSE file, which is available in full at - * http://www.pdos.lcs.mit.edu/click/license.html. The conditions include: you - * must preserve this copyright notice, and you cannot mention the copyright - * holders in advertising related to the Software without their permission. - * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This - * notice is a summary of the Click LICENSE file; the license in that file is - * legally binding. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#include -#include -#include -#include -#include -#include -#include - -/* By default, assume we have strtoul. */ -#if !defined(HAVE_STRTOUL) && !defined(HAVE_CONFIG_H) -# define HAVE_STRTOUL 1 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Option types for Clp_SetOptionChar */ -#define Clp_DoubledLong (Clp_LongImplicit * 2) - -#define Clp_AnyArgument (Clp_Mandatory | Clp_Optional) - -#define MAX_AMBIGUOUS_VALUES 4 - -typedef struct { - Clp_ArgParseFunc func; - int flags; - void *thunk; -} Clp_ArgType; - - -typedef struct { - int pos; - int neg; -} Clp_LongMinMatch; - - -struct Clp_Internal { - - Clp_Option *opt; - Clp_LongMinMatch *long_min_match; - int nopt; - - Clp_ArgType *argtype; - int nargtype; - - const char * const *argv; - int argc; - - unsigned char option_class[256]; - int both_short_and_long; - - char option_chars[3]; - const char *text; - - const char *program_name; - void (*error_handler)(const char *); - - int is_short; - int whole_negated; /* true if negated by an option character */ - int could_be_short; - - int option_processing; - - int ambiguous; - int ambiguous_values[MAX_AMBIGUOUS_VALUES]; - - Clp_Option *current_option; - int current_short; - int negated_by_no; - -}; - - -struct Clp_ParserState { - const char * const *argv; - int argc; - char option_chars[3]; - const char *text; - int is_short; - int whole_negated; -}; - - -typedef struct Clp_StringList { - Clp_Option *items; - Clp_LongMinMatch *long_min_match; - int nitems; - int allow_int; - int nitems_invalid_report; -} Clp_StringList; - - -#define TEST(o, f) (((o)->flags & (f)) != 0) - - -static int calculate_long_min_match(int, Clp_Option *, int, int, int); - -static int parse_string(Clp_Parser *, const char *, int, void *); -static int parse_int(Clp_Parser *, const char *, int, void *); -static int parse_bool(Clp_Parser *, const char *, int, void *); -static int parse_double(Clp_Parser *, const char *, int, void *); -static int parse_string_list(Clp_Parser *, const char *, int, void *); - -static int ambiguity_error(Clp_Parser *, int, int *, Clp_Option *, - const char *, const char *, ...); - - -/******* - * Clp_NewParser, etc. - **/ - -static void -check_duplicated_short_options(Clp_Parser *clp, int nopt, Clp_Option *opt, int negated) -{ - int i; - int check[256]; - - for (i = 0; i < 256; i++) - check[i] = -1; - - for (i = 0; i < nopt; i++) - if (opt[i].short_name > 0 && opt[i].short_name < 256 - && (negated ? TEST(&opt[i], Clp_Negate) - : !TEST(&opt[i], Clp_OnlyNegated))) { - int sh = opt[i].short_name; - if (check[sh] >= 0 && check[sh] != opt[i].option_id) - Clp_OptionError(clp, "CLP internal error: more than 1 option has short name '%c'", sh); - check[sh] = opt[i].option_id; - } -} - -Clp_Parser * -Clp_NewParser(int argc, const char * const *argv, int nopt, Clp_Option *opt) - /* Creates and returns a new Clp_Parser using the options in 'opt', - or 0 on memory allocation failure */ -{ - int i; - Clp_Parser *clp = (Clp_Parser *)malloc(sizeof(Clp_Parser)); - Clp_Internal *cli = (Clp_Internal *)malloc(sizeof(Clp_Internal)); - Clp_LongMinMatch *lmm = (Clp_LongMinMatch *)malloc(sizeof(Clp_LongMinMatch) * nopt); - if (!clp || !cli || !lmm) - goto failed; - - clp->internal = cli; - cli->long_min_match = lmm; - - /* Assign arguments (need to do this now so we can call Clp_OptionError) */ - cli->argc = argc; - cli->argv = argv; - { - const char *slash = strrchr(argv[0], '/'); - cli->program_name = slash ? slash + 1 : argv[0]; - } - cli->error_handler = 0; - - /* Get rid of negative option_ids, which are internal to CLP */ - for (i = 0; i < nopt; i++) - if (opt[i].option_id < 0) { - Clp_OptionError(clp, "CLP internal error: option %d has negative option_id", i); - opt[i] = opt[nopt - 1]; - nopt--; - i--; - } - - /* Massage the options to make them usable */ - for (i = 0; i < nopt; i++) { - /* Enforce invariants */ - if (opt[i].arg_type <= 0) - opt[i].flags &= ~Clp_AnyArgument; - if (opt[i].arg_type > 0 && !TEST(&opt[i], Clp_Optional)) - opt[i].flags |= Clp_Mandatory; - - /* Nonexistent short options have character 256. We know this won't - equal any character in an argument, even if characters are signed */ - if (opt[i].short_name <= 0 || opt[i].short_name > 255) - opt[i].short_name = 256; - - /* Options that start with 'no-' should be changed to OnlyNegated */ - if (opt[i].long_name && strncmp(opt[i].long_name, "no-", 3) == 0) { - opt[i].long_name += 3; - opt[i].flags |= Clp_Negate | Clp_OnlyNegated; - } - } - - /* Check for duplicated short options */ - check_duplicated_short_options(clp, nopt, opt, 0); - check_duplicated_short_options(clp, nopt, opt, 1); - - /* Calculate long options' minimum unambiguous length */ - for (i = 0; i < nopt; i++) - if (opt[i].long_name && !TEST(&opt[i], Clp_OnlyNegated)) - lmm[i].pos = calculate_long_min_match - (nopt, opt, i, Clp_OnlyNegated, 0); - for (i = 0; i < nopt; i++) - if (opt[i].long_name && TEST(&opt[i], Clp_Negate)) - lmm[i].neg = calculate_long_min_match - (nopt, opt, i, Clp_Negate, Clp_Negate); - - /* Set up clp->internal */ - cli->opt = opt; - cli->nopt = nopt; - - cli->argtype = (Clp_ArgType *)malloc(sizeof(Clp_ArgType) * 8); - if (!cli->argtype) - goto failed; - for (i = 0; i < 8; i++) - cli->argtype[i].func = 0; - cli->nargtype = 8; - - for (i = 0; i < 256; i++) - cli->option_class[i] = 0; - cli->option_class[(unsigned char) '-'] = Clp_Short; - cli->both_short_and_long = 0; - - cli->is_short = 0; - cli->whole_negated = 0; - - cli->option_processing = 1; - cli->current_option = 0; - - /* Add default type parsers */ - Clp_AddType(clp, Clp_ArgString, 0, parse_string, 0); - Clp_AddType(clp, Clp_ArgStringNotOption, Clp_DisallowOptions, parse_string, 0); - Clp_AddType(clp, Clp_ArgInt, 0, parse_int, 0); - Clp_AddType(clp, Clp_ArgUnsigned, 0, parse_int, (void *)cli); - Clp_AddType(clp, Clp_ArgBool, 0, parse_bool, 0); - Clp_AddType(clp, Clp_ArgDouble, 0, parse_double, 0); - return clp; - - failed: - /* It should be OK to free(0), but on some ancient systems, it isn't */ - if (cli && cli->argtype) - free(cli->argtype); - if (cli) - free(cli); - if (clp) - free(clp); - if (lmm) - free(lmm); - return 0; -} - -void -Clp_DeleteParser(Clp_Parser *clp) - /* Destroys the Clp_Parser 'clp' and any associated memory allocated by - CLP */ -{ - int i; - Clp_Internal *cli; - if (!clp) - return; - - cli = clp->internal; - - /* get rid of any string list types */ - for (i = 0; i < cli->nargtype; i++) - if (cli->argtype[i].func == parse_string_list) { - Clp_StringList *clsl = (Clp_StringList *)cli->argtype[i].thunk; - free(clsl->items); - free(clsl->long_min_match); - free(clsl); - } - - free(cli->argtype); - free(cli->long_min_match); - free(cli); - free(clp); -} - -int -Clp_SetOptionProcessing(Clp_Parser *clp, int option_processing) - /* Sets whether command line arguments are parsed (looking for options) - at all. Each parser starts out with OptionProcessing true. Returns old - value. */ -{ - Clp_Internal *cli = clp->internal; - int old = cli->option_processing; - cli->option_processing = option_processing; - return old; -} - -Clp_ErrorHandler -Clp_SetErrorHandler(Clp_Parser *clp, void (*error_handler)(const char *)) - /* Sets a hook function to be called before Clp_OptionError - prints anything. 0 means nothing will be called. */ -{ - Clp_Internal *cli = clp->internal; - Clp_ErrorHandler old = cli->error_handler; - cli->error_handler = error_handler; - return old; -} - -int -Clp_SetOptionChar(Clp_Parser *clp, int c, int option_type) - /* Determines how clp will deal with short options. - option_type must be a sum of: - - 0 == Clp_NotOption 'c' isn't an option. - Clp_Short 'c' introduces a list of short options. - Clp_Long 'c' introduces a long option. - Clp_ShortNegated 'c' introduces a negated list of - short options. - Clp_LongNegated 'c' introduces a negated long option. - Clp_LongImplicit 'c' introduces a long option, and *is part - of the long option itself*. - - Some values are not allowed (Clp_Long | Clp_LongNegated isn't allowed, - for instance). c=0 means ALL characters are that type. Returns 0 on - failure (you gave an illegal option_type), 1 on success. */ -{ - int i; - Clp_Internal *cli = clp->internal; - - if (option_type < 0 - || option_type >= 2*Clp_LongImplicit - || ((option_type & Clp_Short) && (option_type & Clp_ShortNegated)) - || ((option_type & Clp_Long) && (option_type & Clp_LongNegated)) - || ((option_type & Clp_LongImplicit) && (option_type & (Clp_Short | Clp_ShortNegated | Clp_Long | Clp_LongNegated)))) - return 0; - - if (c == 0) - for (i = 1; i < 256; i++) - cli->option_class[i] = option_type; - else - cli->option_class[(unsigned char) c] = option_type; - - /* If an option character can introduce either short or long options, then - we need to fix up the long_min_match values. We may have set the - long_min_match for option 'abcde' to 1, if no other option starts - with 'a'. But if '-' can introduce either a short option or a long - option, AND a short option '-a' exists, then the long_min_match for - 'abcde' must be set to 2! */ - if (!cli->both_short_and_long) { - int either_short = option_type & (Clp_Short | Clp_ShortNegated); - int either_long = option_type & (Clp_Long | Clp_LongNegated); - if (either_short && either_long) { - unsigned char have_short[257]; - for (i = 0; i < 256; i++) - have_short[i] = 0; - for (i = 0; i < cli->nopt; i++) - have_short[cli->opt[i].short_name] = 1; - for (i = 0; i < cli->nopt; i++) - if (cli->opt[i].long_name && cli->long_min_match[i].pos == 1) { - /* if '--Cxxxx's short name is '-C', keep long_min_match - == 1 */ - unsigned char first = (unsigned char)cli->opt[i].long_name[0]; - if (have_short[first] && first != cli->opt[i].short_name) - cli->long_min_match[i].pos++; - } - cli->both_short_and_long = 1; - } - } - - return 1; -} - -const char * -Clp_ProgramName(Clp_Parser *clp) -{ - return clp->internal->program_name; -} - -void -Clp_SetProgramName(Clp_Parser *clp, const char *program_name) -{ - clp->internal->program_name = program_name; -} - - -/******* - * functions for Clp_Option lists - **/ - -static int -min_different_chars(const char *s, const char *t) - /* Returns the minimum number of characters required to distinguish - s from t. - If s is shorter than t, returns strlen(s). */ -{ - const char *sfirst = s; - while (*s && *t && *s == *t) - s++, t++; - if (!*s) - return s - sfirst; - else - return s - sfirst + 1; -} - -static int -calculate_long_min_match(int nopt, Clp_Option *opt, int which, - int flags, int flags_value) -{ - int j, lmm = 1; - int preferred = (opt[which].flags & Clp_PreferredMatch); - - for (j = 0; j < nopt; j++) - if (opt[j].long_name - && (opt[j].flags & flags) == flags_value - && opt[which].option_id != opt[j].option_id - && strncmp(opt[which].long_name, opt[j].long_name, lmm) == 0 - && (!preferred || strncmp(opt[which].long_name, opt[j].long_name, strlen(opt[which].long_name)) != 0)) - lmm = min_different_chars(opt[which].long_name, opt[j].long_name); - - return lmm; -} - -/* the ever-glorious argcmp */ - -static int -argcmp(const char *ref, const char *arg, int min_match, int fewer_dashes) - /* Returns 0 if ref and arg don't match. - Returns -1 if ref and arg match, but fewer than min_match characters. - Returns len if ref and arg match min_match or more characters; - len is the number of characters that matched in arg. - Allows arg to contain fewer dashes than ref iff fewer_dashes != 0. - - Examples: - argcmp("x", "y", 1, 0) --> 0 / just plain wrong - argcmp("a", "ax", 1, 0) --> 0 / ...even though min_match == 1 - and the 1st chars match - argcmp("box", "bo", 3, 0) --> -1 / ambiguous - argcmp("cat", "c=3", 1, 0) --> 1 / handles = arguments - */ -{ - const char *refstart = ref; - const char *argstart = arg; - assert(min_match > 0); - - compare: - while (*ref && *arg && *arg != '=' && *ref == *arg) - ref++, arg++; - - /* Allow arg to contain fewer dashes than ref */ - if (fewer_dashes && *ref == '-' && ref[1] && ref[1] == *arg) { - ref++; - goto compare; - } - - if (*arg && *arg != '=') - return 0; - else if (ref - refstart < min_match) - return -1; - else - return arg - argstart; -} - -static int -find_prefix_opt(const char *arg, int nopt, Clp_Option *opt, - Clp_LongMinMatch *lmmvec, - int *ambiguous, int *ambiguous_values, int negated) - /* Looks for an unambiguous match of 'arg' against one of the long - options in 'opt'. Returns positive if it finds one; otherwise, returns - -1 and possibly changes 'ambiguous' and 'ambiguous_values' to keep - track of at most MAX_AMBIGUOUS_VALUES possibilities. */ -{ - int i, fewer_dashes = 0, first_ambiguous = *ambiguous; - - retry: - for (i = 0; i < nopt; i++) { - int len, lmm; - if (!opt[i].long_name - || (negated && !TEST(&opt[i], Clp_Negate)) - || (!negated && TEST(&opt[i], Clp_OnlyNegated))) - continue; - - lmm = (negated ? lmmvec[i].neg : lmmvec[i].pos); - len = argcmp(opt[i].long_name, arg, lmm, fewer_dashes); - if (len > 0) - return i; - else if (len < 0) { - if (*ambiguous < MAX_AMBIGUOUS_VALUES) - ambiguous_values[*ambiguous] = i; - (*ambiguous)++; - } - } - - /* If there were no partial matches, try again with fewer_dashes true */ - if (*ambiguous == first_ambiguous && !fewer_dashes) { - fewer_dashes = 1; - goto retry; - } - - return -1; -} - - -/***** - * Argument parsing - **/ - -int -Clp_AddType(Clp_Parser *clp, int type_id, int flags, - Clp_ArgParseFunc func, void *thunk) - /* Add a argument parser for type_id to the Clp_Parser. When an argument - arg for Clp_Option opt is being processed, the parser routines will - call (*func)(clp, opt, arg, thunk, complain) - where complain is 1 if the routine should report errors, or 0 if it - should fail silently. - Returns 1 on success, 0 if memory allocation fails or the arguments - are bad. */ -{ - int i; - Clp_Internal *cli = clp->internal; - Clp_ArgType *new_argtype; - int nargtype = cli->nargtype; - assert(nargtype); - - if (type_id <= 0 || !func) - return 0; - - while (nargtype <= type_id) - nargtype *= 2; - new_argtype = (Clp_ArgType *) - realloc(cli->argtype, sizeof(Clp_ArgType) * nargtype); - if (!new_argtype) - return 0; - cli->argtype = new_argtype; - - for (i = cli->nargtype; i < nargtype; i++) - cli->argtype[i].func = 0; - cli->nargtype = nargtype; - - cli->argtype[type_id].func = func; - cli->argtype[type_id].flags = flags; - cli->argtype[type_id].thunk = thunk; - return 1; -} - - -/******* - * Default argument parsers - **/ - -static int -parse_string(Clp_Parser *clp, const char *arg, int complain, void *thunk) -{ - (void)complain, (void)thunk; - clp->val.s = arg; - return 1; -} - -static int -parse_int(Clp_Parser *clp, const char *arg, int complain, void *thunk) -{ - char *val; - int base = 10; - if (arg[0] == '0' && (arg[1] == 'x' || arg[1] == 'X')) { - base = 16; - arg += 2; - } - - if (thunk != 0) { /* unsigned */ -#if HAVE_STRTOUL - clp->val.u = strtoul(arg, &val, base); -#else - /* don't bother really trying to do it right */ - if (arg[0] == '-') - val = (char *) arg; - else - clp->val.u = strtol(arg, &val, base); -#endif - } else - clp->val.i = strtol(arg, &val, base); - if (*arg != 0 && *val == 0) - return 1; - else if (complain) { - const char *message = thunk != 0 - ? "'%O' expects a nonnegative integer, not '%s'" - : "'%O' expects an integer, not '%s'"; - if (base == 16) arg -= 2; - return Clp_OptionError(clp, message, arg); - } else - return 0; -} - -static int -parse_double(Clp_Parser *clp, const char *arg, int complain, void *thunk) -{ - char *val; - (void)thunk; - clp->val.d = strtod(arg, &val); - if (*arg != 0 && *val == 0) - return 1; - else if (complain) - return Clp_OptionError(clp, "'%O' expects a real number, not '%s'", arg); - else - return 0; -} - -static int -parse_bool(Clp_Parser *clp, const char *arg, int complain, void *thunk) -{ - int i; - char lcarg[6]; - (void)thunk; - if (strlen(arg) > 5 || strchr(arg, '=') != 0) - goto error; - - for (i = 0; arg[i] != 0; i++) - lcarg[i] = tolower(arg[i]); - lcarg[i] = 0; - - if (argcmp("yes", lcarg, 1, 0) > 0 - || argcmp("true", lcarg, 1, 0) > 0 - || argcmp("1", lcarg, 1, 0) > 0) { - clp->val.i = 1; - return 1; - } else if (argcmp("no", lcarg, 1, 0) > 0 - || argcmp("false", lcarg, 1, 0) > 0 - || argcmp("1", lcarg, 1, 0) > 0) { - clp->val.i = 0; - return 1; - } - - error: - if (complain) - Clp_OptionError(clp, "'%O' expects a true-or-false value, not '%s'", arg); - return 0; -} - - -/***** - * Clp_AddStringListType - **/ - -static int -parse_string_list(Clp_Parser *clp, const char *arg, int complain, void *thunk) -{ - Clp_StringList *sl = (Clp_StringList *)thunk; - int idx, ambiguous = 0; - int ambiguous_values[MAX_AMBIGUOUS_VALUES + 1]; - - /* actually look for a string value */ - idx = find_prefix_opt - (arg, sl->nitems, sl->items, sl->long_min_match, - &ambiguous, ambiguous_values, 0); - if (idx >= 0) { - clp->val.i = sl->items[idx].option_id; - return 1; - } - - if (sl->allow_int) { - if (parse_int(clp, arg, 0, 0)) - return 1; - } - - if (complain) { - const char *complaint = (ambiguous ? "an ambiguous" : "not a valid"); - if (!ambiguous) { - ambiguous = sl->nitems_invalid_report; - for (idx = 0; idx < ambiguous; idx++) - ambiguous_values[idx] = idx; - } - return ambiguity_error - (clp, ambiguous, ambiguous_values, sl->items, "", - "'%s' is %s argument to '%O'", arg, complaint); - } else - return 0; -} - - -int -finish_string_list(Clp_Parser *clp, int type_id, int flags, - Clp_Option *items, int nitems, int itemscap) -{ - int i; - Clp_StringList *clsl = (Clp_StringList *)malloc(sizeof(Clp_StringList)); - Clp_LongMinMatch *lmm = (Clp_LongMinMatch *)malloc(sizeof(Clp_LongMinMatch) * nitems); - if (!clsl || !lmm) - goto error; - - clsl->items = items; - clsl->long_min_match = lmm; - clsl->nitems = nitems; - clsl->allow_int = (flags & Clp_AllowNumbers) != 0; - - if (nitems < MAX_AMBIGUOUS_VALUES && nitems < itemscap && clsl->allow_int) { - items[nitems].long_name = "any integer"; - clsl->nitems_invalid_report = nitems + 1; - } else if (nitems > MAX_AMBIGUOUS_VALUES + 1) - clsl->nitems_invalid_report = MAX_AMBIGUOUS_VALUES + 1; - else - clsl->nitems_invalid_report = nitems; - - for (i = 0; i < nitems; i++) - lmm[i].pos = calculate_long_min_match(nitems, items, i, 0, 0); - - if (Clp_AddType(clp, type_id, 0, parse_string_list, clsl)) - return 1; - - error: - if (clsl) - free(clsl); - if (lmm) - free(lmm); - return 0; -} - -int -Clp_AddStringListType(Clp_Parser *clp, int type_id, int flags, ...) - /* An easy way to add new types to clp. - Call like this: - Clp_AddStringListType - (clp, type_id, flags, - char *s_1, int value_1, ..., char *s_n, int value_n, 0); - - Defines type_id as a type in clp. - This type accepts any of the strings s_1, ..., s_n - (or unambiguous abbreviations thereof); - if argument s_i is given, value_i is stored in clp->val.i. - If Clp_AllowNumbers is set in flags, - explicit integers are also allowed. - - Returns 1 on success, 0 on memory allocation errors. */ -{ - int nitems = 0; - int itemscap = 5; - Clp_Option *items = (Clp_Option *)malloc(sizeof(Clp_Option) * itemscap); - - va_list val; - va_start(val, flags); - - if (!items) - goto error; - - /* slurp up the arguments */ - while (1) { - int value; - char *name = va_arg(val, char *); - if (!name) - break; - value = va_arg(val, int); - - if (nitems >= itemscap) { - Clp_Option *new_items; - itemscap *= 2; - new_items = (Clp_Option *)realloc(items, sizeof(Clp_Option) * itemscap); - if (!new_items) - goto error; - items = new_items; - } - - items[nitems].long_name = name; - items[nitems].option_id = value; - items[nitems].flags = 0; - nitems++; - } - - va_end(val); - if (finish_string_list(clp, type_id, flags, items, nitems, itemscap)) - return 1; - - error: - va_end(val); - if (items) - free(items); - return 0; -} - - -int -Clp_AddStringListTypeVec(Clp_Parser *clp, int type_id, int flags, - int nitems, char **strings, int *values) - /* An alternate way to make a string list type. See Clp_AddStringListType - for the basics; this coalesces the strings and values into two arrays, - rather than spreading them out into a variable argument list. */ -{ - int i; - int itemscap = (nitems < 5 ? 5 : nitems); - Clp_Option *items = (Clp_Option *)malloc(sizeof(Clp_Option) * itemscap); - if (!items) - return 0; - - /* copy over items */ - for (i = 0; i < nitems; i++) { - items[i].long_name = strings[i]; - items[i].option_id = values[i]; - items[i].flags = 0; - } - - if (finish_string_list(clp, type_id, flags, items, nitems, itemscap)) - return 1; - else { - free(items); - return 0; - } -} - - -/******* - * Returning information - **/ - -Clp_Argv * -Clp_NewArgv(const char *str_in, int len) -{ - int argcap = 32; - Clp_Argv *clp_argv = (Clp_Argv *)malloc(sizeof(Clp_Argv)); - char *s, *end; - - if (!clp_argv) - goto failed_all; - if (len < 0) - len = strlen(str_in); - if (!(clp_argv->argv_buf = (char *)malloc(len + 1))) - goto failed_argv_buf; - if (!(clp_argv->argv = (char **)malloc(sizeof(char *) * argcap))) - goto failed_argv; - memcpy(clp_argv->argv_buf, str_in, len); - end = clp_argv->argv_buf + len; - *end = 0; - - /* Parse arguments */ - s = clp_argv->argv_buf; - clp_argv->argc = 0; - while (1) { - char *arg, *sout; - int state; - while (s < end && isspace((unsigned char) *s)) - s++; - if (s >= end) - break; - /* Parse single argument */ - for (arg = sout = s, state = 0; s < end; s++) { - if (*s == '\'') { - if (state == 0) - state = '\''; - else if (state == '\'') - state = 0; - else - *sout++ = *s; - } else if (*s == '\"') { - if (state == 0) - state = '\"'; - else if (state == '\"') - state = 0; - else - *sout++ = *s; - } else if (*s == '\\') { - if (state == '\'' || s == end - 1) - *sout++ = *s; - else - *sout++ = *++s; - } else if (isspace((unsigned char) *s)) { - if (state == 0) - break; - else - *sout++ = *s; - } else - *sout++ = *s; - } - *sout = 0; - s++; - /* Store argument */ - if (clp_argv->argc < argcap - 2) { - argcap *= 2; - if (!(clp_argv->argv = (char **)realloc(clp_argv->argv, sizeof(char *) * argcap))) - goto failed_argv; - } - clp_argv->argv[clp_argv->argc++] = arg; - } - clp_argv->argv[clp_argv->argc] = 0; /* know we have space */ - - return clp_argv; - - failed_argv: - free(clp_argv->argv_buf); - failed_argv_buf: - free(clp_argv); - failed_all: - return 0; -} - -void -Clp_DeleteArgv(Clp_Argv *clp_argv) -{ - if (!clp_argv) - return; - free(clp_argv->argv); - free(clp_argv->argv_buf); - free(clp_argv); -} - - -/****** - * Clp_ParserStates - **/ - -Clp_ParserState * -Clp_NewParserState(void) -{ - return (Clp_ParserState *)malloc(sizeof(Clp_ParserState)); -} - -void -Clp_DeleteParserState(Clp_ParserState *save) -{ - free(save); -} - - -void -Clp_SaveParser(Clp_Parser *clp, Clp_ParserState *save) - /* Saves parser position in save */ -{ - Clp_Internal *cli = clp->internal; - save->argv = cli->argv; - save->argc = cli->argc; - memcpy(save->option_chars, cli->option_chars, 3); - save->text = cli->text; - save->is_short = cli->is_short; - save->whole_negated = cli->whole_negated; -} - - -void -Clp_RestoreParser(Clp_Parser *clp, Clp_ParserState *save) - /* Restores parser position from save */ -{ - Clp_Internal *cli = clp->internal; - cli->argv = save->argv; - cli->argc = save->argc; - memcpy(cli->option_chars, save->option_chars, 3); - cli->text = save->text; - cli->is_short = save->is_short; - cli->whole_negated = save->whole_negated; -} - - -/******* - * Clp_Next and its helpers - **/ - -static void -set_option_text(Clp_Internal *cli, const char *text, int n_option_chars) -{ - char *option_chars = cli->option_chars; - assert(n_option_chars < 3); - - while (n_option_chars-- > 0) - *option_chars++ = *text++; - *option_chars = 0; - - cli->text = text; -} - - -static int -next_argument(Clp_Parser *clp, int want_argument) - /* Moves clp to the next argument. - Returns 1 if it finds another option. - Returns 0 if there aren't any more arguments. - Returns 0, sets clp->have_arg = 1, and sets clp->arg to the argument - if the next argument isn't an option. - If want_argument > 0, it'll look for an argument. - want_argument == 1: Accept arguments that start with Clp_NotOption - or Clp_LongImplicit. - want_argument == 2: Accept ALL arguments. - - Where is the option stored when this returns? - Well, cli->argv[0] holds the whole of the next command line argument. - cli->option_chars holds a string: what characters began the option? - It is generally "-" or "--". - cli->text holds the text of the option: - for short options, cli->text[0] is the relevant character; - for long options, cli->text holds the rest of the option. */ -{ - Clp_Internal *cli = clp->internal; - const char *text; - int option_class; - - /* clear relevant flags */ - clp->have_arg = 0; - clp->arg = 0; - cli->could_be_short = 0; - - /* if we're in a string of short options, move up one char in the string */ - if (cli->is_short) { - ++cli->text; - if (cli->text[0] == 0) - cli->is_short = 0; - else if (want_argument > 0) { - /* handle -O[=]argument case */ - clp->have_arg = 1; - if (cli->text[0] == '=') - clp->arg = cli->text + 1; - else - clp->arg = cli->text; - cli->is_short = 0; - return 0; - } - } - - /* if in short options, we're all set */ - if (cli->is_short) - return 1; - - /** if not in short options, move to the next argument **/ - cli->whole_negated = 0; - cli->text = 0; - - if (cli->argc <= 1) - return 0; - - cli->argc--; - cli->argv++; - text = cli->argv[0]; - - if (want_argument > 1) - goto not_option; - - option_class = cli->option_class[(unsigned char)text[0]]; - if (text[0] == '-' && text[1] == '-') - option_class = Clp_DoubledLong; - - /* If this character could introduce either a short or a long option, - try a long option first, but remember that short's a possibility for - later. */ - if ((option_class & (Clp_Short | Clp_ShortNegated)) - && (option_class & (Clp_Long | Clp_LongNegated))) { - option_class &= ~(Clp_Short | Clp_ShortNegated); - if (text[1] != 0) - cli->could_be_short = 1; - } - - switch (option_class) { - - case Clp_Short: - cli->is_short = 1; - goto check_singleton; - - case Clp_ShortNegated: - cli->is_short = 1; - cli->whole_negated = 1; - goto check_singleton; - - case Clp_Long: - goto check_singleton; - - case Clp_LongNegated: - cli->whole_negated = 1; - goto check_singleton; - - check_singleton: - /* For options introduced with one character, option-char, - '[option-char]' alone is NOT an option. */ - if (text[1] == 0) - goto not_option; - set_option_text(cli, text, 1); - break; - - case Clp_LongImplicit: - /* LongImplict: option_chars == "" (since all chars are part of the - option); restore head -> text of option */ - if (want_argument > 0) - goto not_option; - set_option_text(cli, text, 0); - break; - - case Clp_DoubledLong: - set_option_text(cli, text, 2); - break; - - not_option: - case Clp_NotOption: - cli->is_short = 0; - clp->have_arg = 1; - clp->arg = text; - return 0; - - default: - assert(0 /* CLP misconfiguration: bad option type */); - - } - - return 1; -} - - -static void -switch_to_short_argument(Clp_Parser *clp) -{ - Clp_Internal *cli = clp->internal; - const char *text = cli->argv[0]; - int option_class = cli->option_class[(unsigned char)text[0]]; - cli->is_short = 1; - cli->whole_negated = (option_class & Clp_ShortNegated ? 1 : 0); - set_option_text(cli, cli->argv[0], 1); - assert(cli->could_be_short); -} - - -static Clp_Option * -find_long(Clp_Parser *clp, const char *arg) - /* If arg corresponds to one of clp's options, finds that option & - returns it. If any argument is given after an = sign in arg, sets - clp->have_arg = 1 and clp->arg to that argument. Sets cli->ambiguous - to 1 iff there was no match because the argument was ambiguous. */ -{ - Clp_Internal *cli = clp->internal; - int value, len, min_match; - Clp_Option *opt = cli->opt; - int first_negative_ambiguous; - - /* Look for a normal option. */ - value = find_prefix_opt - (arg, cli->nopt, opt, cli->long_min_match, - &cli->ambiguous, cli->ambiguous_values, clp->negated); - if (value >= 0) - goto worked; - - /* If we can't find it, look for a negated option. */ - /* I know this is silly, but it makes me happy to accept - --no-no-option as a double negative synonym for --option. :) */ - first_negative_ambiguous = cli->ambiguous; - while (arg[0] == 'n' && arg[1] == 'o' && arg[2] == '-') { - arg += 3; - clp->negated = !clp->negated; - value = find_prefix_opt - (arg, cli->nopt, opt, cli->long_min_match, - &cli->ambiguous, cli->ambiguous_values, clp->negated); - if (value >= 0) - goto worked; - } - - /* No valid option was found; return 0. Mark the ambiguous values found - through '--no' by making them negative. */ - { - int i, max = cli->ambiguous; - if (max > MAX_AMBIGUOUS_VALUES) max = MAX_AMBIGUOUS_VALUES; - for (i = first_negative_ambiguous; i < max; i++) - cli->ambiguous_values[i] = -cli->ambiguous_values[i] - 1; - } - return 0; - - worked: - min_match = (clp->negated ? cli->long_min_match[value].neg : cli->long_min_match[value].pos); - len = argcmp(opt[value].long_name, arg, min_match, 1); /* XXX 1? */ - assert(len > 0); - if (arg[len] == '=') { - clp->have_arg = 1; - clp->arg = arg + len + 1; - } - return &opt[value]; -} - - -static Clp_Option * -find_short(Clp_Parser *clp, int short_name) - /* If short_name corresponds to one of clp's options, returns it. */ -{ - Clp_Internal *cli = clp->internal; - Clp_Option *opt = cli->opt; - int i; - - for (i = 0; i < cli->nopt; i++) - if (opt[i].short_name == short_name - && (clp->negated - ? TEST(&opt[i], Clp_Negate) - : !TEST(&opt[i], Clp_OnlyNegated))) - return &opt[i]; - - return 0; -} - - -int -Clp_Next(Clp_Parser *clp) - /* Gets and parses the next argument from the argument list. - - If there are no more arguments, returns Clp_Done. - If the next argument isn't an option, returns Clp_NotOption; - the argument is stored in clp->arg. - If the next argument is an option, returns that option's option_id. - - If the next argument is an unrecognizable or ambiguous option, - an error message is given and Clp_BadOption is returned. - - If an option has an argument, that argument is stored in clp->arg - and clp->have_arg is set to 1. - Furthermore, that argument's parsed value (according to its type) - is stored in the clp->val union. - - If an option needs an argument but isn't given one; - if it doesn't need an argument but IS given one; - or if the argument is the wrong type, - an error message is given and Clp_BadOption is returned. */ -{ - Clp_Internal *cli = clp->internal; - Clp_Option *opt; - Clp_ParserState clpsave; - int complain; - - /** Set up clp **/ - cli->current_option = 0; - cli->ambiguous = 0; - - /** Get the next argument or option **/ - if (!next_argument(clp, cli->option_processing ? 0 : 2)) - return clp->have_arg ? Clp_NotOption : Clp_Done; - - clp->negated = cli->whole_negated; - if (cli->is_short) - opt = find_short(clp, cli->text[0]); - else - opt = find_long(clp, cli->text); - - /** If there's ambiguity between long & short options, and we couldn't - find a long option, look for a short option **/ - if (!opt && cli->could_be_short) { - switch_to_short_argument(clp); - opt = find_short(clp, cli->text[0]); - } - - /** If we didn't find an option... **/ - if (!opt || (clp->negated && !TEST(opt, Clp_Negate))) { - - /* default processing for the "--" option: turn off option processing - and return the next argument */ - if (strcmp(cli->argv[0], "--") == 0) { - Clp_SetOptionProcessing(clp, 0); - return Clp_Next(clp); - } - - /* otherwise, report some error or other */ - if (cli->ambiguous) - ambiguity_error(clp, cli->ambiguous, cli->ambiguous_values, - cli->opt, cli->option_chars, - "option '%s%s' is ambiguous", - cli->option_chars, cli->text); - else if (cli->is_short && !cli->could_be_short) - Clp_OptionError(clp, "unrecognized option '%s%c'", - cli->option_chars, cli->text[0]); - else - Clp_OptionError(clp, "unrecognized option '%s%s'", - cli->option_chars, cli->text); - return Clp_BadOption; - } - - /** Set the current option **/ - cli->current_option = opt; - cli->current_short = cli->is_short; - cli->negated_by_no = clp->negated && !cli->whole_negated; - - /** The no-argument (or should-have-no-argument) case **/ - if (clp->negated || !TEST(opt, Clp_AnyArgument)) { - if (clp->have_arg) { - Clp_OptionError(clp, "'%O' can't take an argument"); - return Clp_BadOption; - } else - return opt->option_id; - } - - /** Get an argument if we need one, or if it's optional **/ - /* Sanity-check the argument type. */ - if (opt->arg_type <= 0 || opt->arg_type >= cli->nargtype - || cli->argtype[ opt->arg_type ].func == 0) - return Clp_Error; - - /* complain == 1 only if the argument was explicitly given, - or it is mandatory. */ - complain = (clp->have_arg != 0) || TEST(opt, Clp_Mandatory); - Clp_SaveParser(clp, &clpsave); - - if (TEST(opt, Clp_Mandatory) && !clp->have_arg) { - /* Mandatory argument case */ - /* Allow arguments to options to start with a dash, but only if the - argument type allows it by not setting Clp_DisallowOptions */ - int disallow = TEST(&cli->argtype[opt->arg_type], Clp_DisallowOptions); - next_argument(clp, disallow ? 1 : 2); - if (!clp->have_arg) { - int got_option = cli->text != 0; - Clp_RestoreParser(clp, &clpsave); - if (got_option) - Clp_OptionError(clp, "'%O' requires a non-option argument"); - else - Clp_OptionError(clp, "'%O' requires an argument"); - return Clp_BadOption; - } - - } else if (cli->is_short && !clp->have_arg && cli->text[1] != 0) - /* The -[option]argument case: - Assume that the rest of the current string is the argument. */ - next_argument(clp, 1); - - /** Parse the argument **/ - if (clp->have_arg) { - Clp_ArgType *atr = &cli->argtype[ opt->arg_type ]; - if (atr->func(clp, clp->arg, complain, atr->thunk) <= 0) { - /* parser failed */ - clp->have_arg = 0; - if (TEST(opt, Clp_Mandatory)) - return Clp_BadOption; - else - Clp_RestoreParser(clp, &clpsave); - } - } - - return opt->option_id; -} - - -const char * -Clp_Shift(Clp_Parser *clp, int allow_dashes) - /* Returns the next argument from the argument list without parsing it. - If there are no more arguments, returns 0. */ -{ - Clp_ParserState clpsave; - Clp_SaveParser(clp, &clpsave); - next_argument(clp, allow_dashes ? 2 : 1); - if (!clp->have_arg) - Clp_RestoreParser(clp, &clpsave); - return clp->arg; -} - - -/******* - * Clp_OptionError - **/ - -typedef struct Clp_BuildString { - char *text; - char *pos; - int capacity; - int bad; -} Clp_BuildString; - -static Clp_BuildString * -new_build_string(void) -{ - Clp_BuildString *bs = (Clp_BuildString *)malloc(sizeof(Clp_BuildString)); - if (!bs) goto bad; - bs->text = (char *)malloc(256); - if (!bs->text) goto bad; - bs->pos = bs->text; - bs->capacity = 256; - bs->bad = 0; - return bs; - - bad: - if (bs) free(bs); - return 0; -} - -static void -free_build_string(Clp_BuildString *bs) -{ - if (bs) free(bs->text); - free(bs); -} - -static int -grow_build_string(Clp_BuildString *bs, int want) -{ - char *new_text; - int ipos = bs->pos - bs->text; - int new_capacity = bs->capacity; - while (want >= new_capacity) - new_capacity *= 2; - new_text = (char *)realloc(bs->text, new_capacity); - if (!new_text) { - bs->bad = 1; - return 0; - } else { - bs->text = new_text; - bs->pos = bs->text + ipos; - bs->capacity = new_capacity; - return 1; - } -} - -#define ENSURE_BUILD_STRING(bs, space) \ - ((((bs)->pos - (bs)->text) + (space) >= (bs)->capacity) \ - || grow_build_string((bs), ((bs)->pos - (bs)->text) + (space))) - -static void -append_build_string(Clp_BuildString *bs, const char *s, int l) -{ - if (l < 0) - l = strlen(s); - if (ENSURE_BUILD_STRING(bs, l)) { - memcpy(bs->pos, s, l); - bs->pos += l; - } -} - - -static Clp_BuildString * -Clp_VaOptionError(Clp_Parser *clp, Clp_BuildString *bs, - const char *fmt, va_list val) - /* Reports an error for parser clp. Allowable % format characters are: - - s Print a string from the argument list. - c Print an int from the argument list as a character. - d Print an int from the argument list. - O Print the name of the current option; - take nothing from the argument list. - - No field specifications or flags are allowed. Always returns 0. */ -{ - Clp_Internal *cli = clp->internal; - const char *percent; - - if (!bs) - bs = new_build_string(); - if (!bs) - return 0; - append_build_string(bs, cli->program_name, -1); - append_build_string(bs, ": ", 2); - - for (percent = strchr(fmt, '%'); percent; percent = strchr(fmt, '%')) { - append_build_string(bs, fmt, percent - fmt); - switch (*++percent) { - - case 's': { - char *s = va_arg(val, char *); - if (s) append_build_string(bs, s, -1); - else append_build_string(bs, "(null)", 6); - break; - } - - case 'c': { - int c = va_arg(val, int); - if (ENSURE_BUILD_STRING(bs, 4)) { - if (c >= 32 && c <= 126) - *bs->pos++ = c; - else if (c < 32) { - *bs->pos++ = '^'; - *bs->pos++ = c + 64; - } else { - sprintf(bs->pos, "\\%03o", c); - bs->pos += 4; - } - } - break; - } - - case 'd': { - int d = va_arg(val, int); - if (ENSURE_BUILD_STRING(bs, 32)) { - sprintf(bs->pos, "%d", d); - bs->pos = strchr(bs->pos, 0); - } - break; - } - - case 'O': { - Clp_Option *opt = cli->current_option; - if (!opt) - append_build_string(bs, "(no current option!)", -1); - else if (cli->current_short) { - append_build_string(bs, cli->option_chars, -1); - if (ENSURE_BUILD_STRING(bs, 1)) - *bs->pos++ = opt->short_name; - } else if (cli->negated_by_no) { - append_build_string(bs, cli->option_chars, -1); - append_build_string(bs, "no-", 3); - append_build_string(bs, opt->long_name, -1); - } else { - append_build_string(bs, cli->option_chars, -1); - append_build_string(bs, opt->long_name, -1); - } - break; - } - - case '%': - if (ENSURE_BUILD_STRING(bs, 1)) - *bs->pos++ = '%'; - break; - - default: - if (ENSURE_BUILD_STRING(bs, 2)) { - *bs->pos++ = '%'; - *bs->pos++ = *percent; - } - break; - - } - fmt = ++percent; - } - - append_build_string(bs, fmt, -1); - append_build_string(bs, "\n", 1); - - return bs; -} - -static void -do_error(Clp_Parser *clp, Clp_BuildString *bs) -{ - const char *text; - if (bs && !bs->bad) { - *bs->pos = 0; - text = bs->text; - } else - text = "out of memory\n"; - - if (clp->internal->error_handler != 0) - (*clp->internal->error_handler)(text); - else - fputs(text, stderr); -} - -int -Clp_OptionError(Clp_Parser *clp, const char *fmt, ...) -{ - Clp_BuildString *bs; - va_list val; - va_start(val, fmt); - bs = Clp_VaOptionError(clp, 0, fmt, val); - va_end(val); - do_error(clp, bs); - free_build_string(bs); - return 0; -} - -static int -ambiguity_error(Clp_Parser *clp, int ambiguous, int *ambiguous_values, - Clp_Option *opt, const char *prefix, - const char *fmt, ...) -{ - Clp_BuildString *bs; - int i; - va_list val; - va_start(val, fmt); - bs = Clp_VaOptionError(clp, 0, fmt, val); - if (!bs) goto done; - - append_build_string(bs, clp->internal->program_name, -1); - append_build_string(bs, ": (Possibilities are", -1); - - for (i = 0; i < ambiguous && i < MAX_AMBIGUOUS_VALUES; i++) { - int value = ambiguous_values[i]; - const char *no_dash = ""; - if (value < 0) - value = -(value + 1), no_dash = "no-"; - if (i == 0) - append_build_string(bs, " ", 1); - else if (i == ambiguous - 1) - append_build_string(bs, (i == 1 ? " and " : ", and "), -1); - else - append_build_string(bs, ", ", 2); - append_build_string(bs, prefix, -1); - append_build_string(bs, no_dash, -1); - append_build_string(bs, opt[value].long_name, -1); - } - - if (ambiguous > MAX_AMBIGUOUS_VALUES) - append_build_string(bs, ", and others", -1); - append_build_string(bs, ".)\n", -1); - va_end(val); - - done: - do_error(clp, bs); - free_build_string(bs); - return 0; -} - -static int -copy_string(char *buf, int buflen, int bufpos, const char *what) -{ - int l = strlen(what); - if (l > buflen - bufpos - 1) - l = buflen - bufpos - 1; - memcpy(buf + bufpos, what, l); - return l; -} - -int -Clp_CurOptionNameBuf(Clp_Parser *clp, char *buf, int buflen) -{ - Clp_Internal *cli = clp->internal; - Clp_Option *opt = cli->current_option; - int pos = 0; - if (!opt) - pos += copy_string(buf, buflen, pos, "(no current option!)"); - else if (cli->current_short) { - pos += copy_string(buf, buflen, pos, cli->option_chars); - if (pos < buflen - 1) - buf[pos++] = opt->short_name; - } else if (cli->negated_by_no) { - pos += copy_string(buf, buflen, pos, cli->option_chars); - pos += copy_string(buf, buflen, pos, "no-"); - pos += copy_string(buf, buflen, pos, opt->long_name); - } else { - pos += copy_string(buf, buflen, pos, cli->option_chars); - pos += copy_string(buf, buflen, pos, opt->long_name); - } - buf[pos] = 0; - return pos; -} - -const char * -Clp_CurOptionName(Clp_Parser *clp) -{ - static char buf[256]; - Clp_CurOptionNameBuf(clp, buf, 256); - return buf; -} - -#ifdef __cplusplus -} -#endif diff --git a/Build/source/utils/t1utils/config.h.in b/Build/source/utils/t1utils/config.h.in index d52eb2d2319..2b2e4f83bb6 100644 --- a/Build/source/utils/t1utils/config.h.in +++ b/Build/source/utils/t1utils/config.h.in @@ -27,6 +27,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the `strtoul' function. */ +#undef HAVE_STRTOUL + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H @@ -57,6 +60,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -89,10 +95,4 @@ extern "C" { char *strerror(int errno); #endif -#ifdef __cplusplus -} -/* Get rid of a possible inline macro under C++. */ -# define inline inline -#endif - #endif /* T1UTILS_CONFIG_H */ diff --git a/Build/source/utils/t1utils/configure b/Build/source/utils/t1utils/configure index 65644cb27cc..563f2c5ada4 100755 --- a/Build/source/utils/t1utils/configure +++ b/Build/source/utils/t1utils/configure @@ -1,20 +1,22 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for t1utils for TeX Live 1.34. +# Generated by GNU Autoconf 2.64 for t1utils for TeX Live 1.34. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software +# Foundation, Inc. +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -22,23 +24,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -46,7 +40,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -57,7 +57,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -80,13 +80,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -96,15 +89,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -116,12 +109,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -133,7 +130,249 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and tex-k@tug.org +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -147,8 +386,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -168,412 +411,123 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit } -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac -if as_func_ret_success; then - : +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file else - exitcode=1 - echo as_func_ret_success failed. + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' else - exitcode=1 - echo positional parameters were not saved. + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -fi - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 7<&0 &1 +exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -591,7 +545,6 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='t1utils for TeX Live' @@ -599,8 +552,9 @@ PACKAGE_TARNAME='t1utils-for-tex-live' PACKAGE_VERSION='1.34' PACKAGE_STRING='t1utils for TeX Live 1.34' PACKAGE_BUGREPORT='tex-k@tug.org' +PACKAGE_URL='' -ac_unique_file="t1ascii.c" +ac_unique_file="t1utils-1.34/t1ascii.c" # Factoring default headers for most tests. ac_includes_default="\ #include @@ -640,10 +594,12 @@ ac_includes_default="\ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS +T1UTILS_TREE EGREP GREP CPP LIBOBJS +WARNING_CFLAGS am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE @@ -716,6 +672,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -728,7 +685,7 @@ ac_user_opts=' enable_option_checking enable_maintainer_mode enable_dependency_tracking -enable_warnings +enable_compiler_warnings ' ac_precious_vars='build_alias host_alias @@ -847,8 +804,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -874,8 +830,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1079,8 +1034,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1096,8 +1050,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1127,17 +1080,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1154,15 +1107,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1185,8 +1136,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1216,11 +1166,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1259,13 +1207,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1370,7 +1316,9 @@ Optional Features: (and sometimes confusing) to the casual installer --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors - --enable-warnings compile with -Wall + --enable-compiler-warnings=[no|min|yes|max|all] + Turn on compiler warnings [default: yes if + maintainer-mode, min otherwise] Some influential environment variables: CC C compiler command @@ -1449,2287 +1397,1481 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF t1utils for TeX Live configure 1.34 -generated by GNU Autoconf 2.63 +generated by GNU Autoconf 2.64 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi -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 t1utils for TeX Live $as_me 1.34, which was -generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## -_ACEOF -exec 5>>config.log +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () { -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` +} # ac_fn_c_try_compile -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -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_aux_dir= -for ac_dir in ../../build-aux "$srcdir"/../../build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../../build-aux \"$srcdir\"/../../build-aux" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in ../../build-aux \"$srcdir\"/../../build-aux" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - -am__api_version='1.11' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi + ac_retval=1 fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac +} # ac_fn_c_try_link -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ +#ifdef __STDC__ +# include +#else +# include +#endif - test -n "$AWK" && break -done +#undef $2 -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' +/* 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 -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" + eval "$3=no" fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -rmdir .tst 2>/dev/null +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi +} # ac_fn_c_check_func -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err fi -fi - - -# Define the identity of the package. - PACKAGE='t1utils-for-tex-live' - VERSION='1.34' - + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval +} # ac_fn_c_try_cpp -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> _ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - -{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes else - USE_MAINTAINER_MODE=no + ac_header_compiler=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } - { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } - MAINT=$MAINTAINER_MODE_TRUE - - - -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 -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( cat <<\_ASBOX +## ---------------------------- ## +## Report this to tex-k@tug.org ## +## ---------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - + eval "$3=\$ac_header_compiler" fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + return $ac_retval +} # ac_fn_c_try_run -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - + eval "$3=no" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi +} # ac_fn_c_check_header_compile -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : +else + eval "$3=yes" fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } +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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} +} # ac_fn_c_check_type - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 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 t1utils for TeX Live $as_me 1.34, which was +generated by GNU Autoconf 2.64. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +} >&5 +cat >&5 <<_ACEOF - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done done -IFS=$as_save_IFS +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo - test -n "$ac_ct_CC" && break -done + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 -fi +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +# Predefined preprocessor variables. -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site else - ac_file='' -fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac done -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&6 +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +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 -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no + +ac_aux_dir= +for ac_dir in ../../build-aux "$srcdir"/../../build-aux; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done +done +if test -z "$ac_aux_dir"; then + as_fn_error "cannot find install-sh, install.sh, or shtool in ../../build-aux \"$srcdir\"/../../build-aux" "$LINENO" 5 fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then + + + +am__api_version='1.11' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac -int -main () -{ + done +IFS=$as_save_IFS - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +rm -rf conftest.one conftest.two conftest.dir - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } -int -main () -{ +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then -int -main () -{ + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 + fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes + test "$2" = conftest.file + ) +then + # Ok. + : else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_fn_error "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done -rm -f conftest.$ac_ext -CC=$ac_save_CC + done +IFS=$as_save_IFS fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -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 -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" fi - -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then : + $as_echo_n "(cached) " >&6 else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS +fi + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } -depcc="$CC" am_compiler_list= +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi +done done +IFS=$as_save_IFS - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none fi - fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break +done -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi - ac_cv_c_const=no +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ fi +rmdir .tst 2>/dev/null -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\_ACEOF -#define const /**/ +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='t1utils-for-tex-live' + VERSION='1.34' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" _ACEOF -fi +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF -# Check whether --enable-warnings was given. -if test "${enable_warnings+set}" = set; then - enableval=$enable_warnings; -fi +# Some tools Automake needs. +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -if test "x$enable_warnings" = xyes ; then - CFLAGS="$CFLAGS -W -Wall" -fi +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} -for ac_func in strerror -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} -#ifdef __STDC__ -# include -#else -# include -#endif -#undef $ac_func +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -/* 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 $ac_func (); -/* 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_$ac_func || defined __stub___$ac_func -choke me -#endif +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +AMTAR=${AMTAR-"${am_missing_run}tar"} - eval "$as_ac_var=no" -fi +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no fi -done + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + MAINT=$MAINTAINER_MODE_TRUE @@ -3738,2200 +2880,1735 @@ 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:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - # Broken: fails on valid input. -continue fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - done - ac_cv_prog_CPP=$CPP fi - CPP=$ac_cv_prog_CPP +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - # Broken: fails on valid input. -continue +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue + CC=$ac_ct_CC + fi else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break + CC="$ac_cv_prog_CC" fi -rm -f conftest.err conftest.$ac_ext - +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } 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:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done + done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - ac_cv_path_GREP=$GREP + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac +IFS=$as_save_IFS - $ac_path_EGREP_found && break 3 - done - done +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC fi -else - ac_cv_path_EGREP=$EGREP fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + rm -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else + ac_file='' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then : $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } fi -rm -f conftest* +ac_exeext=$ac_cv_exeext +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done else - ac_cv_header_stdc=no -fi -rm -f conftest* - + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi +rm -f conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; + + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - +rm -f conftest.$ac_cv_objext conftest.$ac_ext fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +ac_cv_c_compiler_gnu=$ac_compiler_gnu fi - -done - - - -for ac_header in inttypes.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> + +int +main () +{ + + ; + return 0; +} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +int +main () +{ -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <$ac_header> + +int +main () +{ + + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +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 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ---------------------------- ## -## Report this to tex-k@tug.org ## -## ---------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} _ACEOF - have_inttypes_h=yes -else - have_inttypes_h=no +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg fi - +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done +rm -f conftest.$ac_ext +CC=$ac_save_CC - -for ac_header in sys/types.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if test "x$ac_cv_prog_cc_c89" != xno; then : - ac_header_compiler=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } +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 +DEPDIR="${am__leading_dot}deps" -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_config_commands="$ac_config_commands depfiles" - ac_header_preproc=no + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ---------------------------- ## -## Report this to tex-k@tug.org ## -## ---------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - have_sys_types_h=yes + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' else - have_sys_types_h=no + AMDEP_TRUE='#' + AMDEP_FALSE= fi -done -if test "x$have_inttypes_h" = xno && test "x$have_sys_types_h" = xyes; then - { $as_echo "$as_me:$LINENO: checking for uintXX_t typedefs" >&5 -$as_echo_n "checking for uintXX_t typedefs... " >&6; } -if test "${ac_cv_uint_t+set}" = set; then +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub -_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* + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_uint_t" >&5 -$as_echo "$ac_cv_uint_t" >&6; } - if test "x$ac_cv_uint_t" = xno; then - { $as_echo "$as_me:$LINENO: checking for u_intXX_t typedefs" >&5 -$as_echo_n "checking for u_intXX_t typedefs... " >&6; } -if test "${ac_cv_u_int_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done -_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 + cd .. + rm -rf conftest.dir else - ac_cv_u_int_t=no + am_cv_CC_dependencies_compiler_type=none fi -rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_u_int_t" >&5 -$as_echo "$ac_cv_u_int_t" >&6; } - fi -fi -if test "x$have_inttypes_h" = xyes || test "x$ac_cv_uint_t" = xyes; then - : -elif test "x$ac_cv_u_int_t" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_U_INT_TYPES 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - { $as_echo "$as_me:$LINENO: WARNING: -========================================= - -Neither uint32_t nor u_int32_t defined by or ! -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 or ! -Assuming \"short\" has 16 bits and \"int\" has 32 bits. - -=========================================" >&2;} + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_FAKE_INT_TYPES 1 -_ACEOF -fi -{ $as_echo "$as_me:$LINENO: checking for uintptr_t" >&5 -$as_echo_n "checking for uintptr_t... " >&6; } -if test "${ac_cv_type_uintptr_t+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_uintptr_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if HAVE_INTTYPES_H -# include -#endif -#if HAVE_SYS_TYPES_H -# include -#endif - int main () { -if (sizeof (uintptr_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if HAVE_INTTYPES_H -# include -#endif -#if HAVE_SYS_TYPES_H -# include -#endif +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif -int -main () -{ -if (sizeof ((uintptr_t))) - return 0; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_uintptr_t=yes + ac_cv_c_const=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then +$as_echo "#define const /**/" >>confdefs.h fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +# Check whether --enable-compiler-warnings was given. +if test "${enable_compiler_warnings+set}" = set; then : + enableval=$enable_compiler_warnings; fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5 -$as_echo "$ac_cv_type_uintptr_t" >&6; } -if test "x$ac_cv_type_uintptr_t" = x""yes; then +case $enable_compiler_warnings in #( + no | min | yes | max | all) : + ;; #( + *) : + if test "x$enable_maintainer_mode" = xyes; then : + enable_compiler_warnings=yes +else + enable_compiler_warnings=min +fi ;; +esac -cat >>confdefs.h <<_ACEOF -#define HAVE_UINTPTR_T 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what warning flags to pass to the C compiler" >&5 +$as_echo_n "checking what warning flags to pass to the C compiler... " >&6; } +if test "${kpse_cv_warning_cflags+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$enable_compiler_warnings" = xno; then + kpse_cv_warning_cflags= +elif test "x$GCC" = xyes; then + kpse_cv_warning_cflags="-Wall -Wunused" +case `$CC -dumpversion` in #( + 3.4.* | 4.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wdeclaration-after-statement" ;; #( + *) : + ;; +esac +case `$CC -dumpversion` in #( + 3.[234].* | 4.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wno-unknown-pragmas" ;; #( + *) : + ;; +esac +if test "x$enable_compiler_warnings" != xmin; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wmissing-prototypes -Wmissing-declarations" + if test "x$enable_compiler_warnings" != xyes; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wimplicit -Wparentheses -Wreturn-type" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wswitch -Wtrigraphs -Wpointer-arith" + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wcast-qual -Wcast-align -Wwrite-strings" + case `$CC -dumpversion` in #( + 3.4.* | 4.*) : + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wold-style-definition" ;; #( + *) : + ;; +esac + if test "x$enable_compiler_warnings" != xmax; then + kpse_cv_warning_cflags="$kpse_cv_warning_cflags -Wshadow" + fi + fi +fi +else + : # FIXME: warning flags for non-GNU C compilers +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $kpse_cv_warning_cflags" >&5 +$as_echo "$kpse_cv_warning_cflags" >&6; } +WARNING_CFLAGS=$kpse_cv_warning_cflags -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:$LINENO: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= 0)]; -test_array [0] = 0 - ; - return 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRERROR 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + +else + case " $LIBOBJS " in + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + ;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} +fi +done + + + +for ac_func in strtoul +do : + ac_fn_c_check_func "$LINENO" "strtoul" "ac_cv_func_strtoul" +if test "x$ac_cv_func_strtoul" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STRTOUL 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` fi +done + + + +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 how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (void *))) < 0)]; -test_array [0] = 0 + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + done + ac_cv_prog_CPP=$CPP - ac_lo= ac_hi= fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + # Broken: fails on valid input. +continue fi +rm -f conftest.err conftest.$ac_ext -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` + # Passes both tests. +ac_preproc_ok=: +break fi +rm -f conftest.err conftest.$ac_ext -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done -case $ac_lo in -?*) ac_cv_sizeof_void_p=$ac_lo;; -'') if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (void *) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_void_p=0 - fi ;; +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } +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 grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (void *)); } -static unsigned long int ulongval () { return (long int) (sizeof (void *)); } -#include -#include -int -main () -{ + ac_cv_path_GREP=$GREP +fi - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (void *))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (void *)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (void *)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_void_p=`cat conftest.val` + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_path_EGREP=$EGREP +fi -( exit $ac_status ) -if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (void *) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_void_p=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" -# 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:$LINENO: checking size of unsigned long" >&5 -$as_echo_n "checking size of unsigned long... " >&6; } -if test "${ac_cv_sizeof_unsigned_long+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= 0)]; -test_array [0] = 0 +#include +#include +#include +#include - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default int main () { -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)]; -test_array [0] = 0 ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) < 0)]; -test_array [0] = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= $ac_mid)]; -test_array [0] = 0 +#include - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= + ac_cv_header_stdc=no fi +rm -f conftest* -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)]; -test_array [0] = 0 +#include - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi +rm -f conftest* - ac_lo=`expr '(' $ac_mid ')' + 1` fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_unsigned_long=$ac_lo;; -'') if test "$ac_cv_type_unsigned_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (unsigned long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_unsigned_long=0 - fi ;; -esac +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (unsigned long)); } -static unsigned long int ulongval () { return (long int) (sizeof (unsigned long)); } -#include +#include #include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (unsigned long))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (unsigned long)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (unsigned long)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_unsigned_long=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -( exit $ac_status ) -if test "$ac_cv_type_unsigned_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (unsigned long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_unsigned_long=0 - fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -rm -f conftest.val +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5 -$as_echo "$ac_cv_sizeof_unsigned_long" >&6; } +done -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long +for ac_header in inttypes.h sys/types.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" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 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:$LINENO: checking size of unsigned int" >&5 -$as_echo_n "checking size of unsigned int... " >&6; } -if test "${ac_cv_sizeof_unsigned_int+set}" = set; then +done + + +if test "x$ac_cv_header_inttypes_h:$ac_cv_header_sys_types_h" = xno: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 test "${lcdf_cv_uint_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= 0)]; -test_array [0] = 0 +#include - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_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 : + lcdf_cv_uint_t=yes +else + lcdf_cv_uint_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lcdf_cv_uint_t" >&5 +$as_echo "$lcdf_cv_uint_t" >&6; } + if test "x$lcdf_cv_uint_t" = xno; 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 test "${lcdf_cv_u_int_t+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)]; -test_array [0] = 0 +#include - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break +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 : + lcdf_cv_u_int_t=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + lcdf_cv_u_int_t=no +fi +rm -f conftest* - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lcdf_cv_u_int_t" >&5 +$as_echo "$lcdf_cv_u_int_t" >&6; } + fi +fi +if test "x$ac_cv_header_inttypes_h:$lcdf_cv_uint_t" = xno:no; then + if test "x$lcdf_cv_u_int_t" = xyes; then -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define HAVE_U_INT_TYPES 1" >>confdefs.h - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) < 0)]; -test_array [0] = 0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: +========================================= - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= $ac_mid)]; -test_array [0] = 0 +Neither uint32_t nor u_int32_t defined by or ! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. - ; - return 0; -} +=========================================" >&5 +$as_echo "$as_me: WARNING: +========================================= + +Neither uint32_t nor u_int32_t defined by or ! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. + +=========================================" >&2;} + +$as_echo "#define HAVE_FAKE_INT_TYPES 1" >>confdefs.h + + fi +fi + +ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#if HAVE_INTTYPES_H +# include +#endif +#if HAVE_SYS_TYPES_H +# include +#endif + +" +if test "x$ac_cv_type_uintptr_t" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_UINTPTR_T 1 _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` + fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done + +# 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 test "${ac_cv_sizeof_void_p+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : - ac_lo= ac_hi= +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_set_status 77 +as_fn_error "cannot compute sizeof (void *) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_void_p=0 + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 +$as_echo "$ac_cv_sizeof_void_p" >&6; } -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)]; -test_array [0] = 0 - ; - return 0; -} + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_unsigned_int=$ac_lo;; -'') if test "$ac_cv_type_unsigned_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (unsigned int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_unsigned_int=0 - fi ;; -esac +# 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 test "${ac_cv_sizeof_unsigned_long+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (unsigned int)); } -static unsigned long int ulongval () { return (long int) (sizeof (unsigned int)); } -#include -#include -int -main () -{ + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"; then : - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (unsigned int))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (unsigned int)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (unsigned int)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +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_set_status 77 +as_fn_error "cannot compute sizeof (unsigned long) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_unsigned_long=0 + fi +fi - ; - return 0; -} +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 -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_unsigned_int=`cat conftest.val` + + +# 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 test "${ac_cv_sizeof_unsigned_int+set}" = set; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : -( exit $ac_status ) -if test "$ac_cv_type_unsigned_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +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_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (unsigned int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (unsigned int) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_unsigned_int=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val + fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 $as_echo "$ac_cv_sizeof_unsigned_int" >&6; } @@ -5951,7 +4628,7 @@ ac_config_headers="$ac_config_headers config.h" - +T1UTILS_TREE=t1utils-1.34 @@ -5984,13 +4661,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -5998,8 +4675,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -6022,11 +4699,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -6046,8 +4723,8 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -6063,34 +4740,26 @@ else fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"am__fastdepCC\" 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 ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -6100,17 +4769,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -6118,23 +4788,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -6142,7 +4804,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -6153,7 +4821,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -6176,13 +4844,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -6192,15 +4853,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -6212,12 +4873,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -6229,7 +4894,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -6243,8 +4990,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -6264,76 +5015,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -6362,8 +5062,56 @@ fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -6382,10 +5130,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -6400,13 +5148,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by t1utils for TeX Live $as_me 1.34, which was -generated by GNU Autoconf 2.63. Invocation command line was +generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6438,10 +5192,11 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit @@ -6463,16 +5218,16 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ t1utils for TeX Live config.status 1.34 -configured by $0, generated by GNU Autoconf 2.63, +configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -6515,20 +5270,19 @@ do case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -6536,11 +5290,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -6595,9 +5348,7 @@ do "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -6624,7 +5375,7 @@ $debug || trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. @@ -6635,11 +5386,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -6647,10 +5394,16 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' + ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi @@ -6664,24 +5417,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6770,9 +5517,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), @@ -6813,9 +5558,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -6900,9 +5643,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -6915,9 +5656,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6945,12 +5684,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -6961,7 +5698,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -6974,9 +5711,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -7004,47 +5739,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -7101,7 +5796,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -7111,12 +5805,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -7126,7 +5819,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -7155,14 +5848,12 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} @@ -7172,9 +5863,7 @@ which seems to be undefined. Please make sure it is defined." >&2;} -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -7185,25 +5874,19 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -7241,7 +5924,7 @@ $as_echo X"$_am_arg" | s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -7336,47 +6019,7 @@ $as_echo X"$file" | q } s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done @@ -7388,15 +6031,12 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -7417,10 +6057,10 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff --git a/Build/source/utils/t1utils/configure.ac b/Build/source/utils/t1utils/configure.ac index e05262d95da..0282ca5447e 100644 --- a/Build/source/utils/t1utils/configure.ac +++ b/Build/source/utils/t1utils/configure.ac @@ -6,25 +6,26 @@ dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -AC_INIT([t1utils for TeX Live], [1.34], [tex-k@tug.org]) +dnl ********************************************************************* +dnl +dnl Adapted for TeX Live from t1utils-1.34/configure.in +dnl +dnl ********************************************************************* +dnl +m4_define([t1utils_version], [1.34])[]dnl using unmodified t1utils source tree +AC_INIT([t1utils for TeX Live], t1utils_version, [tex-k@tug.org]) AC_PREREQ([2.63]) -AC_CONFIG_SRCDIR([t1ascii.c]) +AC_CONFIG_SRCDIR([t1utils-]t1utils_version[/t1ascii.c]) AC_CONFIG_AUX_DIR([../../build-aux]) +AC_CONFIG_MACRO_DIR([../../m4]) -AM_INIT_AUTOMAKE([foreign dist-bzip2 check-news]) +AM_INIT_AUTOMAKE([foreign]) AM_MAINTAINER_MODE AC_PROG_CC AC_C_CONST -AC_ARG_ENABLE([warnings], - AS_HELP_STRING([--enable-warnings], - [compile with -Wall])) - -if test "x$enable_warnings" = xyes ; then - CFLAGS="$CFLAGS -W -Wall" -fi - +KPSE_COMPILER_WARNINGS dnl dnl strerror()? @@ -32,40 +33,35 @@ dnl AC_REPLACE_FUNCS([strerror]) +AC_CHECK_FUNCS([strtoul]) dnl dnl integer types dnl -AC_CHECK_HEADERS([inttypes.h], - [have_inttypes_h=yes], - [have_inttypes_h=no]) -AC_CHECK_HEADERS([sys/types.h], - [have_sys_types_h=yes], - [have_sys_types_h=no]) +AC_CHECK_HEADERS([inttypes.h sys/types.h]) -if test "x$have_inttypes_h" = xno && test "x$have_sys_types_h" = xyes; then +if test "x$ac_cv_header_inttypes_h:$ac_cv_header_sys_types_h" = xno:yes; then AC_CACHE_CHECK([for uintXX_t typedefs], - [ac_cv_uint_t], + [lcdf_cv_uint_t], [AC_EGREP_HEADER([(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]], [sys/types.h], - [ac_cv_uint_t=yes], - [ac_cv_uint_t=no])]) - if test "x$ac_cv_uint_t" = xno; then + [lcdf_cv_uint_t=yes], + [lcdf_cv_uint_t=no])]) + if test "x$lcdf_cv_uint_t" = xno; then AC_CACHE_CHECK([for u_intXX_t typedefs], - [ac_cv_u_int_t], + [lcdf_cv_u_int_t], [AC_EGREP_HEADER([(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]], [sys/types.h], - [ac_cv_u_int_t=yes], - [ac_cv_u_int_t=no])]) + [lcdf_cv_u_int_t=yes], + [lcdf_cv_u_int_t=no])]) fi fi -if test "x$have_inttypes_h" = xyes || test "x$ac_cv_uint_t" = xyes; then - : -elif test "x$ac_cv_u_int_t" = xyes; then +if test "x$ac_cv_header_inttypes_h:$lcdf_cv_uint_t" = xno:no; then + if test "x$lcdf_cv_u_int_t" = xyes; then AC_DEFINE([HAVE_U_INT_TYPES], 1, [Define if you have u_intXX_t types but not uintXX_t types.]) -else + else AC_MSG_WARN([ ========================================= @@ -75,6 +71,7 @@ Assuming "short" has 16 bits and "int" has 32 bits. =========================================]) AC_DEFINE([HAVE_FAKE_INT_TYPES], 1, [Define if intXX_t types are not available.]) + fi fi AC_CHECK_TYPES([uintptr_t], [], [], @@ -111,14 +108,10 @@ extern "C" { char *strerror(int errno); #endif -#ifdef __cplusplus -} -/* Get rid of a possible inline macro under C++. */ -# define inline inline -#endif - #endif /* T1UTILS_CONFIG_H */]) +T1UTILS_TREE=[t1utils-]t1utils_version +AC_SUBST([T1UTILS_TREE]) dnl dnl Output diff --git a/Build/source/utils/t1utils/configure.in.orig b/Build/source/utils/t1utils/configure.in.orig deleted file mode 100644 index 113ff2cdb8f..00000000000 --- a/Build/source/utils/t1utils/configure.in.orig +++ /dev/null @@ -1,118 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(t1ascii.c) -AM_INIT_AUTOMAKE(t1utils, 1.34) -AM_CONFIG_HEADER(config.h) -AM_MAINTAINER_MODE - -AC_PROG_CC -AC_C_CONST - -AC_ARG_ENABLE(warnings, -[ --enable-warnings compile with -Wall], -if test "$enableval" = yes ; then - CFLAGS="$CFLAGS -W -Wall" -fi) - - -dnl -dnl strerror()? -dnl - -AC_REPLACE_FUNCS(strerror) - - -dnl -dnl integer types -dnl - -AC_CHECK_HEADERS(inttypes.h, have_inttypes_h=yes, have_inttypes_h=no) -AC_CHECK_HEADERS(sys/types.h, have_sys_types_h=yes, have_sys_types_h=no) - -if test $have_inttypes_h = no -a $have_sys_types_h = yes; then - AC_CACHE_CHECK([for uintXX_t typedefs], ac_cv_uint_t, - [AC_EGREP_HEADER(dnl -changequote(<<,>>)<<(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]>>changequote([,]), - sys/types.h, ac_cv_uint_t=yes, ac_cv_uint_t=no)]) -fi -if test $have_inttypes_h = no -a $have_sys_types_h = yes -a "$ac_cv_uint_t" = no; then - AC_CACHE_CHECK([for u_intXX_t typedefs], ac_cv_u_int_t, - [AC_EGREP_HEADER(dnl -changequote(<<,>>)<<(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]>>changequote([,]), - sys/types.h, ac_cv_u_int_t=yes, ac_cv_u_int_t=no)]) -fi -if test $have_inttypes_h = yes -o "$ac_cv_uint_t" = yes; then - : -elif test "$ac_cv_u_int_t" = yes; then - AC_DEFINE(HAVE_U_INT_TYPES, 1, [Define if you have u_intXX_t types but not uintXX_t types.]) -else - AC_MSG_WARN([ -========================================= - -Neither uint32_t nor u_int32_t defined by or ! -Assuming "short" has 16 bits and "int" has 32 bits. - -=========================================]) - AC_DEFINE(HAVE_FAKE_INT_TYPES, 1, [Define if intXX_t types are not available.]) -fi - -AC_CHECK_TYPES(uintptr_t, [], [], -[#if HAVE_INTTYPES_H -# include -#endif -#if HAVE_SYS_TYPES_H -# include -#endif -]) - -AC_CHECK_SIZEOF(void *) -AC_CHECK_SIZEOF(unsigned long) -AC_CHECK_SIZEOF(unsigned int) - - -dnl -dnl verbatim portions of the header -dnl - -AH_TOP([#ifndef T1UTILS_CONFIG_H -#define T1UTILS_CONFIG_H]) - -AH_BOTTOM([#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Prototype strerror if we don't have it. */ -#if !HAVE_STRERROR -char *strerror(int errno); -#endif - -#ifdef __cplusplus -} -/* Get rid of a possible inline macro under C++. */ -# define inline inline -#endif - -#endif /* T1UTILS_CONFIG_H */]) - - -dnl -dnl Multiplatform output directories (for teTeX and TeX Live) -dnl - -AC_CANONICAL_HOST -AC_ARG_ENABLE([multiplatform], - [AS_HELP_STRING([--enable-multiplatform], - [put executables into bin/PLATFORM and libraries into lib/PLATFORM])]) -if test "x$enable_multiplatform" = xyes; then - test "x$bindir" = 'x${exec_prefix}/bin' && bindir="$bindir/$host" - test "x$libdir" = 'x${exec_prefix}/lib' && libdir="$libdir/$host" -fi - - -dnl -dnl Output -dnl - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/Build/source/utils/t1utils/include/lcdf/clp.h b/Build/source/utils/t1utils/include/lcdf/clp.h deleted file mode 100644 index 2126aacbf9c..00000000000 --- a/Build/source/utils/t1utils/include/lcdf/clp.h +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- related-file-name: "../../liblcdf/clp.c" -*- */ -#ifndef LCDF_CLP_H -#define LCDF_CLP_H -#ifdef __cplusplus -extern "C" { -#endif - -/* clp.h - Public interface to CLP. - * This file is part of CLP, the command line parser package. - * - * Copyright (c) 1997-2005 Eddie Kohler, kohler@icir.org - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, subject to the conditions - * listed in the Click LICENSE file, which is available in full at - * http://www.pdos.lcs.mit.edu/click/license.html. The conditions include: you - * must preserve this copyright notice, and you cannot mention the copyright - * holders in advertising related to the Software without their permission. - * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This - * notice is a summary of the Click LICENSE file; the license in that file is - * legally binding. */ - - -/* Argument types */ -#define Clp_NoArg 0 -#define Clp_ArgString 1 -#define Clp_ArgStringNotOption 2 -#define Clp_ArgBool 3 -#define Clp_ArgInt 4 -#define Clp_ArgUnsigned 5 -#define Clp_ArgDouble 6 - -#define Clp_FirstUserType 10 - -/* Flags for individual Clp_Options */ -#define Clp_Mandatory (1<<0) /* Has mandatory argument */ -#define Clp_Optional (1<<1) /* Has optional argument */ -#define Clp_Negate (1<<2) /* Allow --no-OPT */ -#define Clp_OnlyNegated (1<<3) /* Allow --no-OPT, but not --OPT */ -#define Clp_PreferredMatch (1<<4) /* Prefer --OPT to --OPTwhatever */ - /* when matching option prefixes */ - -struct Clp_Option { - const char *long_name; /* e.g. "version" */ - int short_name; /* e.g. 'v' */ - int option_id; /* number returned by Clp_Next */ - int arg_type; /* e.g. Clp_ArgBool */ - int flags; /* e.g. Clp_Optional | Clp_Negate */ -}; - - -/* Sizes of clp->val */ -#define Clp_ValSize 40 -#define Clp_ValIntSize 10 - -typedef struct Clp_Option Clp_Option; -typedef struct Clp_Parser Clp_Parser; -typedef struct Clp_Internal Clp_Internal; -typedef struct Clp_ParserState Clp_ParserState; -typedef struct Clp_Argv Clp_Argv; - -typedef int (*Clp_ArgParseFunc)(Clp_Parser *, const char *, int, void *); -typedef void (*Clp_ErrorHandler)(const char *); - -struct Clp_Parser { - - int negated; - - int have_arg; - const char *arg; - - union { - int i; - unsigned u; - double d; - const char *s; - void *pv; -#ifdef HAVE_INT64_TYPES - int64_t i64; - uint64_t u64; -#endif - char cs[Clp_ValSize]; - unsigned char ucs[Clp_ValSize]; - int is[Clp_ValIntSize]; - unsigned us[Clp_ValIntSize]; - } val; - - Clp_Internal *internal; - -}; - - -Clp_Parser * Clp_NewParser(int argc, const char * const *argv, - int nopt, Clp_Option *opt); -void Clp_DeleteParser(Clp_Parser *); - -Clp_ErrorHandler Clp_SetErrorHandler(Clp_Parser *, Clp_ErrorHandler); - -const char * Clp_ProgramName(Clp_Parser *); -void Clp_SetProgramName(Clp_Parser *, const char *); - - -struct Clp_Argv { - int argc; - char **argv; - char *argv_buf; -}; - -Clp_Argv * Clp_NewArgv(const char *args, int len); -void Clp_DeleteArgv(Clp_Argv *); - - -/* Option types for Clp_SetOptionChar */ -/* Clp_NotOption 0 */ -#define Clp_Short (1<<0) -#define Clp_Long (1<<1) -#define Clp_ShortNegated (1<<2) -#define Clp_LongNegated (1<<3) -#define Clp_LongImplicit (1<<4) - -int Clp_SetOptionChar(Clp_Parser *, int c, int option_type); - - -/* Argument type flags for Clp_AddType */ -#define Clp_DisallowOptions (1<<0) /* No option-looking args */ - -int Clp_AddType - (Clp_Parser *, int type_id, int flags, - Clp_ArgParseFunc func, void *user_data); - - -/* Flags for Clp_AddStringListType */ -#define Clp_AllowNumbers (1<<0) /* Number args OK */ - -int Clp_AddStringListType - (Clp_Parser *, int type_id, int flags, ...); -int Clp_AddStringListTypeVec - (Clp_Parser *, int type_id, int flags, - int n, char **str, int *val); - - -/* Return values from Clp_Next */ -#define Clp_NotOption 0 -#define Clp_Done -1 -#define Clp_BadOption -2 -#define Clp_Error -3 - -int Clp_Next(Clp_Parser *); - - -const char * Clp_Shift(Clp_Parser *, int allow_dashes); -int Clp_SetOptionProcessing(Clp_Parser *, int option_processing); - -Clp_ParserState *Clp_NewParserState(void); -void Clp_DeleteParserState(Clp_ParserState *); -void Clp_SaveParser(Clp_Parser *, Clp_ParserState *); -void Clp_RestoreParser(Clp_Parser *, Clp_ParserState *); - -int Clp_OptionError(Clp_Parser *, const char *, ...); -int Clp_CurOptionNameBuf(Clp_Parser *, char *buf, int buflen); -const char * Clp_CurOptionName(Clp_Parser *); /* uses static memory */ - -#ifdef __cplusplus -} -#endif -#endif diff --git a/Build/source/utils/t1utils/include/lcdf/inttypes.h b/Build/source/utils/t1utils/include/lcdf/inttypes.h deleted file mode 100644 index b88e9e9faf0..00000000000 --- a/Build/source/utils/t1utils/include/lcdf/inttypes.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef LCDF_INTTYPES_H -#define LCDF_INTTYPES_H -/* Define known-width integer types. */ - -#ifdef HAVE_INTTYPES_H -# include -#elif defined(HAVE_SYS_TYPES_H) -# include -# ifdef HAVE_U_INT_TYPES -typedef u_int8_t uint8_t; -typedef u_int16_t uint16_t; -typedef u_int32_t uint32_t; -# endif -#endif - -#ifdef HAVE_FAKE_INT_TYPES -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -#endif - -#ifndef HAVE_UINTPTR_T -# if SIZEOF_VOID_P == SIZEOF_UNSIGNED_INT -typedef unsigned int uintptr_t; -# elif SIZEOF_VOID_P == SIZEOF_UNSIGNED_LONG -typedef unsigned long uintptr_t; -# endif -#endif - -/* Note: Windows compilers call these types '[un]signed __int8', etc. */ -#endif diff --git a/Build/source/utils/t1utils/t1ascii.1 b/Build/source/utils/t1utils/t1ascii.1 deleted file mode 100644 index 7ce2da4ba2c..00000000000 --- a/Build/source/utils/t1utils/t1ascii.1 +++ /dev/null @@ -1,51 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1ASCII 1 "" "Version \*V" -.SH NAME -t1ascii \- convert PostScript Type 1 font from binary to ASCII -.SH SYNOPSIS -.B t1ascii -\%[\fB\-l\fR \fIlength\fR] -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.BR t1ascii -converts Adobe Type 1 font programs in PFB (binary) format to PFA -(hexadecimal) format. If the file -.I output -is not specified output goes to the standard output. -If the file -.I input -is not specified input comes from the standard input. -' -.SH OPTIONS -.TP 5 -.BI \-\-line\-length= "num\fR, " \-l " num" -Set the maximum length of encrypted lines in the output to -.I num. -(These are the lines consisting wholly of hexadecimal digits.) The default -is 64. -' -.TP 5 -.BR \-\-warnings ", " \-w -Warn when the input font contains lines longer than 255 characters. -Long lines don't strictly conform to Adobe's Document Structuring -Conventions, and may cause problems with older software. -' -.SH "SEE ALSO" -.LP -.M t1binary 1 , -.M t1unmac 1 , -.M t1mac 1 , -.M t1asm 1 , -.M t1disasm 1 -.LP -.I "Adobe Type 1 Font Format" -.SH AUTHORS -Lee Hetherington (ilh@lcs.mit.edu) -.br -Eddie Kohler (ekohler@gmail.com) -.PP -Ported to Microsoft C/C++ Compiler and MS-DOS operating system by -Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1ascii.c b/Build/source/utils/t1utils/t1ascii.c deleted file mode 100644 index 2bada0df8ec..00000000000 --- a/Build/source/utils/t1utils/t1ascii.c +++ /dev/null @@ -1,306 +0,0 @@ -/* t1ascii - * - * This program takes an Adobe Type-1 font program in binary (PFB) format and - * converts it to ASCII (PFA) format. - * - * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. - * - * I. Lee Hetherington (ilh@lcs.mit.edu) - * - * 1.5 and later versions contain changes by, and are maintained by, - * Eddie Kohler . - * - * New change log in `NEWS'. Old change log: - * - * Revision 1.2 92/06/23 10:58:43 ilh - * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) - * incoporated. - * - * Revision 1.1 92/05/22 11:47:24 ilh - * initial version - * - * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by - * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code - * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS - * ... #endif, where _MSDOS is an identifier, which is automatically - * defined, if you compile with the Microsoft C/C++ Compiler. - * - */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#ifdef __cplusplus -extern "C" { -#endif - -static FILE *ofp; -static int line_length = 64; - - -/***** - * Command line - **/ - -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 -#define LINE_LEN_OPT 304 -#define WARNINGS_OPT 305 - -static Clp_Option options[] = { - { "help", 0, HELP_OPT, 0, 0 }, - { "line-length", 'l', LINE_LEN_OPT, Clp_ArgInt, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, - { "warnings", 'w', WARNINGS_OPT, 0, Clp_Negate } -}; -static const char *program_name; -static const char *ifp_filename = ""; -static int line_length_warning = -1; - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); -} - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - -void -usage(void) -{ - printf("\ -`T1ascii' translates a PostScript Type 1 font from compact binary (PFB) to\n\ -ASCII (PFA) format. The result is written to the standard output unless an\n\ -OUTPUT file is given.\n\ -\n\ -Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -\n\ -Options:\n\ - -l, --line-length=NUM Set max encrypted line length (default 64).\n\ - -o, --output=FILE Write output to FILE.\n\ - -w, --warnings Warn on too-long lines.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - - -/***** - * PFA font_reader functions - **/ - -static int hexcol = 0; - -static void -pfa_output_ascii(char *data, int len) -{ - if (hexcol) { - putc('\n', ofp); - hexcol = 0; - } - if (line_length_warning == 0 && len > 256) { - line_length_warning = 1; - fprintf(stderr, "%s: warning: %s has lines longer than 255 characters\n%s: (This may cause problems with older printers.)\n", program_name, ifp_filename, program_name); - } - fputs(data, ofp); - if (len && data[len - 1] != '\n') { - int p = len - 2; - while (p > 0 && data[p] != '\n') - p--; - hexcol = (p ? len - p - 1 : hexcol + len); - } -} - -static void -pfa_output_binary(unsigned char *data, int len) -{ - static const char *hexchar = "0123456789abcdef"; - for (; len > 0; len--, data++) { - /* trim hexadecimal lines to line_length columns */ - if (hexcol >= line_length) { - putc('\n', ofp); - hexcol = 0; - } - putc(hexchar[(*data >> 4) & 0xf], ofp); - putc(hexchar[*data & 0xf], ofp); - hexcol += 2; - } -} - -static void -pfa_output_end() -{ -} - -#ifdef __cplusplus -} -#endif - - -/***** - * main() - **/ - -int -main(int argc, char *argv[]) -{ - struct font_reader fr; - int c; - FILE *ifp = 0; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case LINE_LEN_OPT: - line_length = clp->val.i; - if (line_length < 8) { - line_length = 8; - error("warning: line length raised to %d", line_length); - } else if (line_length > 1024) { - line_length = 1024; - error("warning: line length lowered to %d", line_length); - } - break; - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else { - ofp = fopen(clp->arg, "w"); - if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case WARNINGS_OPT: - line_length_warning = (clp->negated ? -1 : 0); - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1ascii (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) { - ifp_filename = ""; - ifp = stdin; - } else { - ifp_filename = clp->arg; - ifp = fopen(clp->arg, "rb"); - if (!ifp) - fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!ifp) - ifp = stdin; - if (!ofp) - ofp = stdout; - if (line_length > 255 && line_length_warning == 0) - fprintf(stderr, "%s: warning: selected --line-length is greater than 255\n", program_name); - -#if defined(_MSDOS) || defined(_WIN32) - /* As we are processing a PFB (binary) input */ - /* file, we must set its file mode to binary. */ - _setmode(_fileno(ifp), _O_BINARY); -#endif - - /* prepare font reader */ - fr.output_ascii = pfa_output_ascii; - fr.output_binary = pfa_output_binary; - fr.output_end = pfa_output_end; - - /* peek at first byte to see if it is the PFB marker 0x80 */ - c = getc(ifp); - ungetc(c, ifp); - - /* do the file */ - if (c == PFB_MARKER) - process_pfb(ifp, ifp_filename, &fr); - else if (c == '%') - process_pfa(ifp, ifp_filename, &fr); - else - fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); - - fclose(ifp); - fclose(ofp); - return 0; -} diff --git a/Build/source/utils/t1utils/t1asm.1 b/Build/source/utils/t1utils/t1asm.1 deleted file mode 100644 index 77b6381cf2c..00000000000 --- a/Build/source/utils/t1utils/t1asm.1 +++ /dev/null @@ -1,96 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1ASM 1 "" "Version \*V" -.SH NAME -t1asm \- assemble PostScript Type 1 font -.SH SYNOPSIS -.B t1asm -\%[\fB\-a\fR|\fB\-b\fR] -\%[\fB\-l\fR \fIlength\fR] -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.B t1asm -assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB -(binary) formats from a human-readable form. If the file -.I output -is not specified output goes to the standard output. If the file -.I input -is not specified input comes from the standard input. - -.B t1asm -tokenizes the charstring data and performs eexec and charstring encryption -as specified in the ``black book,'' -.I "Adobe Type 1 Font Format." - -The input must have a line of the form -.RS -.nf -.ft B -/-|{string currentfile exch readstring pop}executeonly def -.ft R -.fi -.RE -which defines the command, in this case `\-|', that is to start charstring -data. It is an error not to define such a command. Another common name for -this command is `RD'. - -After the start of the -.B Subrs -array in the input, all open braces `{' not in a comment begin a -charstring. Such a charstring is terminated by the next non-comment close -brace `}'. Within such a charstring, only comments, integers, and valid -charstring commands are allowed. Valid charstring command names can be -found in -.I "Adobe Type 1 Font Format" -and other documents describing the newer Type 2 opcodes. The format within -a charstring is unimportant as long as integers and commands are separated -by at least a one whitespace (space, tab, newline) character. Note that -within charstrings, comments are discarded because they cannot be encoded. -.SH OPTIONS -.TP 5 -.BR \-\-pfa ", " \-a -Output in PFA (ASCII) format. -.TP 5 -.BR \-\-pfb ", " \-b -Output in PFB (binary) format. This is the default. -.TP -.BI \-\-block\-length= "num\fR, " \-l " num" -PFB only: Set the maximum output block length to -.I num. -The default length is as large as memory allows. -.TP -.BI \-\-line\-length= "num\fR, " \-l " num" -PFA only: Set the maximum length of encrypted lines in the output to -.I num. -(These are the lines consisting wholly of hexadecimal digits.) The default -is 64. -.SH EXAMPLES -.LP -.nf -% t1asm Utopia-Regular.raw > Utopia-Regular.pfb -% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa -.fi -.SH "SEE ALSO" -.LP -.M t1disasm 1 , -.M t1ascii 1 , -.M t1binary 1 , -.M t1unmac 1 , -.M t1mac 1 -.LP -.I "Adobe Type 1 Font Format" -is available free from Adobe as a PDF file. -http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF -.LP -.I "The Type 2 Charstring Format," -also available from Adobe as a PDF file, describes the newer Type 2 -operators, which are also used in some multiple-master Type 1 fonts like -Adobe Jenson and Kepler. -http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf -' -.SH AUTHORS -Lee Hetherington (ilh@lcs.mit.edu) -.br -Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1asm.c b/Build/source/utils/t1utils/t1asm.c deleted file mode 100644 index 17d991277fa..00000000000 --- a/Build/source/utils/t1utils/t1asm.c +++ /dev/null @@ -1,808 +0,0 @@ -/* t1asm -*- c-basic-offset: 2 -*- - * - * This program `assembles' Adobe Type-1 font programs in pseudo-PostScript - * form into either PFB or PFA format. The human readable/editable input is - * charstring- and eexec-encrypted as specified in the `Adobe Type 1 Font - * Format' version 1.1 (the `black book'). There is a companion program, - * t1disasm, which `disassembles' PFB and PFA files into a pseudo-PostScript - * file. - * - * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. - * - * I. Lee Hetherington (ilh@lcs.mit.edu) - * - * 1.5 and later versions contain changes by, and are maintained by, - * Eddie Kohler . - * - * New change log in `NEWS'. Old change log: - * - * Revision 1.4 92/07/10 10:53:09 ilh - * Added support for additional PostScript after the closefile command - * (ie., some fonts have {restore}if after the cleartomark). - * - * Revision 1.3 92/06/23 10:58:25 ilh - * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) - * incoporated. - * - * Revision 1.2 92/05/22 11:54:45 ilh - * Fixed bug where integers larger than 32000 could not be encoded in - * charstrings. Now integer range is correct for four-byte - * twos-complement integers: -(1<<31) <= i <= (1<<31)-1. Bug detected by - * Piet Tutelaers (rcpt@urc.tue.nl). - * - * Revision 1.1 92/05/22 11:48:46 ilh - * initial version - * - * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by - * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code - * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS - * ... #endif, where _MSDOS is an identifier, which is automatically - * defined, if you compile with the Microsoft C/C++ Compiler. - * - */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#define LINESIZE 512 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char byte; - -static FILE *ifp; -static FILE *ofp; -static struct pfb_writer w; -static int blocklen = -1; - -/* flags */ -static int pfb = 1; -static int active = 0; -static int ever_active = 0; -static int start_charstring = 0; -static int in_eexec = 0; - -/* need to add 1 as space for \0 */ -static char line[LINESIZE + 1]; - -/* lenIV and charstring start command */ -static int lenIV = 4; -static char cs_start[10]; - -/* for charstring buffering */ -static byte charstring_buf[65535]; -static byte *charstring_bp; - -/* decryption stuff */ -static uint16_t er, cr; -static uint16_t c1 = 52845, c2 = 22719; - -/* table of charstring commands */ -static struct command { - const char *name; - int one, two; -} command_table[] = { - { "abs", 12, 9 }, /* Type 2 */ - { "add", 12, 10 }, /* Type 2 */ - { "and", 12, 3 }, /* Type 2 */ - { "blend", 16, -1 }, /* Type 2 */ - { "callgsubr", 29, -1 }, /* Type 2 */ - { "callothersubr", 12, 16 }, /* Type 1 ONLY */ - { "callsubr", 10, -1 }, - { "closepath", 9, -1 }, /* Type 1 ONLY */ - { "cntrmask", 20, -1 }, /* Type 2 */ - { "div", 12, 12 }, - { "dotsection", 12, 0 }, /* Type 1 ONLY */ - { "drop", 12, 18 }, /* Type 2 */ - { "dup", 12, 27 }, /* Type 2 */ - { "endchar", 14, -1 }, - { "eq", 12, 15 }, /* Type 2 */ - { "error", 0, -1 }, /* special */ - { "escape", 12, -1 }, /* special */ - { "exch", 12, 28 }, /* Type 2 */ - { "flex", 12, 35 }, /* Type 2 */ - { "flex1", 12, 37 }, /* Type 2 */ - { "get", 12, 21 }, /* Type 2 */ - { "hflex", 12, 34 }, /* Type 2 */ - { "hflex1", 12, 36 }, /* Type 2 */ - { "hhcurveto", 27, -1 }, /* Type 2 */ - { "hintmask", 19, -1 }, /* Type 2 */ - { "hlineto", 6, -1 }, - { "hmoveto", 22, -1 }, - { "hsbw", 13, -1 }, /* Type 1 ONLY */ - { "hstem", 1, -1 }, - { "hstem3", 12, 2 }, /* Type 1 ONLY */ - { "hstemhm", 18, -1 }, /* Type 2 */ - { "hvcurveto", 31, -1 }, - { "ifelse", 12, 22 }, /* Type 2 */ - { "index", 12, 29 }, /* Type 2 */ - { "load", 12, 13 }, /* Type 2 */ - { "mul", 12, 24 }, /* Type 2 */ - { "neg", 12, 14 }, /* Type 2 */ - { "not", 12, 5 }, /* Type 2 */ - { "or", 12, 4 }, /* Type 2 */ - { "pop", 12, 17 }, /* Type 1 ONLY */ - { "put", 12, 20 }, /* Type 2 */ - { "random", 12, 23 }, /* Type 2 */ - { "rcurveline", 24, -1 }, /* Type 2 */ - { "return", 11, -1 }, - { "rlinecurve", 25, -1 }, /* Type 2 */ - { "rlineto", 5, -1 }, - { "rmoveto", 21, -1 }, - { "roll", 12, 30 }, /* Type 2 */ - { "rrcurveto", 8, -1 }, - { "sbw", 12, 7 }, /* Type 1 ONLY */ - { "seac", 12, 6 }, /* Type 1 ONLY */ - { "setcurrentpoint", 12, 33 }, /* Type 1 ONLY */ - { "sqrt", 12, 26 }, /* Type 2 */ - { "store", 12, 8 }, /* Type 2 */ - { "sub", 12, 11 }, /* Type 2 */ - { "vhcurveto", 30, -1 }, - { "vlineto", 7, -1 }, - { "vmoveto", 4, -1 }, - { "vstem", 3, -1 }, - { "vstem3", 12, 1 }, /* Type 1 ONLY */ - { "vstemhm", 23, -1 }, /* Type 2 */ - { "vvcurveto", 26, -1 }, /* Type 2 */ -}; /* alphabetical */ - -/* Two separate encryption functions because eexec and charstring encryption - must proceed in parallel. */ - -static byte eencrypt(byte plain) -{ - byte cipher; - - cipher = (byte)(plain ^ (er >> 8)); - er = (uint16_t)((cipher + er) * c1 + c2); - return cipher; -} - -static byte cencrypt(byte plain) -{ - byte cipher; - - /* Thanks to Tom Kacvinsky who reported that lenIV == -1 means - unencrypted charstrings. */ - if (lenIV < 0) return plain; - - cipher = (byte)(plain ^ (cr >> 8)); - cr = (uint16_t)((cipher + cr) * c1 + c2); - return cipher; -} - -/* This function outputs a single byte. If output is in PFB format then output - is buffered through blockbuf[]. If output is in PFA format, then output - will be hexadecimal if in_eexec is set, ASCII otherwise. */ - -static void output_byte(byte b) -{ - static const char *hexchar = "0123456789abcdef"; - static int hexcol = 0; - - if (pfb) { - /* PFB */ - PFB_OUTPUT_BYTE(&w, b); - } else { - /* PFA */ - if (in_eexec) { - /* trim hexadecimal lines to `blocklen' columns */ - if (hexcol >= blocklen) { - putc('\n', ofp); - hexcol = 0; - } - putc(hexchar[(b >> 4) & 0xf], ofp); - putc(hexchar[b & 0xf], ofp); - hexcol += 2; - } else { - putc(b, ofp); - } - } -} - -/* This function outputs a byte through possible eexec encryption. */ - -static void eexec_byte(byte b) -{ - if (in_eexec) - output_byte(eencrypt(b)); - else - output_byte(b); -} - -/* This function outputs a null-terminated string through possible eexec - encryption. */ - -static void eexec_string(const char *string) -{ - while (*string) - eexec_byte(*string++); -} - -/* This function gets ready for the eexec-encrypted data. If output is in - PFB format then flush current ASCII block and get ready for binary block. - We start encryption with four random (zero) bytes. */ - -static void eexec_start(char *string) -{ - eexec_string("currentfile eexec\n"); - if (pfb && w.blocktyp != PFB_BINARY) { - pfb_writer_output_block(&w); - w.blocktyp = PFB_BINARY; - } - - in_eexec = 1; - er = 55665; - eexec_byte(0); - eexec_byte(0); - eexec_byte(0); - eexec_byte(0); - eexec_string(string); -} - -/* 25.Aug.1999 -- Return 1 if this line actually looks like the start of a - charstring. We use the heuristic that it should start with `/' (a name) or - `dup' (a subroutine). Previous heuristic caused killa bad output. */ - -static int check_line_charstring() -{ - char *p = line; - while (isspace(*p)) - p++; - return (*p == '/' || (p[0] == 'd' && p[1] == 'u' && p[2] == 'p')); -} - -/* This function returns an input line of characters. A line is terminated by - length (including terminating null) greater than LINESIZE, \r, \n, \r\n, or - when active (looking for charstrings) by '{'. When terminated by a newline - the newline is put into line[]. When terminated by '{', the '{' is not put - into line[], and the flag start_charstring is set to 1. */ - -static void texlive_getline() -{ - int c; - char *p = line; - int comment = 0; - start_charstring = 0; - - while (p < line + LINESIZE) { - c = getc(ifp); - - if (c == EOF) - break; - else if (c == '%') - comment = 1; - else if (active && !comment && c == '{') { - /* 25.Aug.1999 -- new check for whether we should stop be active */ - if (check_line_charstring()) { - start_charstring = 1; - break; - } else - active = 0; - } - - *p++ = (char) c; - - /* end of line processing: change CR or CRLF into LF, and exit */ - if (c == '\r') { - c = getc(ifp); - if (c != '\n') - ungetc(c, ifp); - p[-1] = '\n'; - break; - } else if (c == '\n') - break; - } - - *p = '\0'; -} - -/* This function wraps-up the eexec-encrypted data and writes ASCII trailer. - If output is in PFB format then this entails flushing binary block and - starting an ASCII block. */ - -static void eexec_end(void) -{ - int i, j; - - if (!pfb) - putc('\n', ofp); - else if (w.blocktyp != PFB_ASCII) { - pfb_writer_output_block(&w); - w.blocktyp = PFB_ASCII; - } - - in_eexec = active = 0; - - for (i = 0; i < 8; i++) { - for (j = 0; j < 64; j++) - eexec_byte('0'); - eexec_byte('\n'); - } -} - -/* This function is used by the binary search, bsearch(), for command names in - the command table. */ - -static int CDECL command_compare(const void *key, const void *item) -{ - return strcmp((const char *) key, ((const struct command *) item)->name); -} - -/* This function returns 1 if the string is an integer and 0 otherwise. */ - -static int is_integer(char *string) -{ - if (isdigit(string[0]) || string[0] == '-' || string[0] == '+') { - while (*++string && isdigit(*string)) - ; /* deliberately empty */ - if (!*string) - return 1; - } - return 0; -} - -/* This function initializes charstring encryption. Note that this is called - at the beginning of every charstring. */ - -static void charstring_start() -{ - int i; - - charstring_bp = charstring_buf; - cr = 4330; - for (i = 0; i < lenIV; i++) - *charstring_bp++ = cencrypt((byte) 0); -} - -/* This function encrypts and buffers a single byte of charstring data. */ - -static void charstring_byte(int v) -{ - byte b = (byte)(v & 0xff); - if (charstring_bp - charstring_buf > (int)sizeof(charstring_buf)) - fatal_error("charstring buffer overflow"); - *charstring_bp++ = cencrypt(b); -} - -/* This function outputs buffered, encrypted charstring data through possible - eexec encryption. */ - -static void charstring_end() -{ - byte *bp; - - sprintf(line, "%d ", (int) (charstring_bp - charstring_buf)); - eexec_string(line); - sprintf(line, "%s ", cs_start); - eexec_string(line); - for (bp = charstring_buf; bp < charstring_bp; bp++) - eexec_byte(*bp); -} - -/* This function generates the charstring representation of an integer. */ - -static void charstring_int(int num) -{ - int x; - - if (num >= -107 && num <= 107) { - charstring_byte(num + 139); - } else if (num >= 108 && num <= 1131) { - x = num - 108; - charstring_byte(x / 256 + 247); - charstring_byte(x % 256); - } else if (num >= -1131 && num <= -108) { - x = abs(num) - 108; - charstring_byte(x / 256 + 251); - charstring_byte(x % 256); - } else if (num >= (-2147483647-1) && num <= 2147483647) { - charstring_byte(255); - charstring_byte(num >> 24); - charstring_byte(num >> 16); - charstring_byte(num >> 8); - charstring_byte(num); - } else { - error("can't format huge number `%d'", num); - /* output 0 instead */ - charstring_byte(139); - } -} - -/* This function returns one charstring token. It ignores comments. */ - -static void get_charstring_token() -{ - int c = getc(ifp); - while (isspace(c)) - c = getc(ifp); - - if (c == '%') { - while (c != EOF && c != '\r' && c != '\n') - c = getc(ifp); - get_charstring_token(); - - } else if (c == '}') { - line[0] = '}'; - line[1] = 0; - - } else { - char *p = line; - while (p < line + LINESIZE) { - *p++ = c; - c = getc(ifp); - if (c == EOF || isspace(c) || c == '%' || c == '}') { - ungetc(c, ifp); - break; - } - } - *p = 0; - } -} - - -/* This function parses an entire charstring into integers and commands, - outputting bytes through the charstring buffer. */ - -static void parse_charstring() -{ - struct command *cp; - - charstring_start(); - while (!feof(ifp)) { - get_charstring_token(); - if (line[0] == '}') - break; - if (is_integer(line)) { - charstring_int(atoi(line)); - } else { - int one; - int two; - int ok = 0; - - cp = (struct command *) - bsearch((void *) line, (void *) command_table, - sizeof(command_table) / sizeof(struct command), - sizeof(struct command), - command_compare); - - if (cp) { - one = cp->one; - two = cp->two; - ok = 1; - - } else if (strncmp(line, "escape_", 7) == 0) { - /* Parse the `escape' keyword requested by Lee Chun-Yu and Werner - Lemberg */ - one = 12; - if (sscanf(line + 7, "%d", &two) == 1) - ok = 1; - - } else if (strncmp(line, "UNKNOWN_", 8) == 0) { - /* Allow unanticipated UNKNOWN commands. */ - one = 12; - if (sscanf(line + 8, "12_%d", &two) == 1) - ok = 1; - else if (sscanf(line + 8, "%d", &one) == 1) { - two = -1; - ok = 1; - } - } - - if (!ok) - error("unknown charstring command `%s'", line); - else if (one < 0 || one > 255) - error("bad charstring command number `%d'", one); - else if (two > 255) - error("bad charstring command number `%d'", two); - else if (two < 0) - charstring_byte(one); - else { - charstring_byte(one); - charstring_byte(two); - } - } - } - charstring_end(); -} - - -/***** - * Command line - **/ - -#define BLOCK_LEN_OPT 300 -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 -#define PFB_OPT 304 -#define PFA_OPT 305 - -static Clp_Option options[] = { - { "block-length", 'l', BLOCK_LEN_OPT, Clp_ArgInt, 0 }, - { "help", 0, HELP_OPT, 0, 0 }, - { "line-length", 0, BLOCK_LEN_OPT, Clp_ArgInt, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "pfa", 'a', PFA_OPT, 0, 0 }, - { "pfb", 'b', PFB_OPT, 0, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; -static const char *program_name; - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); -} - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - -void -usage(void) -{ - printf("\ -`T1asm' translates a human-readable version of a PostScript Type 1 font into\n\ -standard PFB or PFA format. The result is written to the standard output\n\ -unless an OUTPUT file is given.\n\ -\n\ -Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -\n\ -Options:\n\ - -a, --pfa Output font in ASCII (PFA) format.\n\ - -b, --pfb Output font in binary (PFB) format. This is\n\ - the default.\n\ - -l, --block-length NUM Set max block length for PFB output.\n\ - -l, --line-length NUM Set max encrypted line length for PFA output.\n\ - -o, --output=FILE Write output to FILE.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - -#ifdef __cplusplus -} -#endif - - -int main(int argc, char *argv[]) -{ - char *p, *q, *r; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case BLOCK_LEN_OPT: - blocklen = clp->val.i; - break; - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else if (!(ofp = fopen(clp->arg, "w"))) - fatal_error("%s: %s", clp->arg, strerror(errno)); - break; - - case PFB_OPT: - pfb = 1; - break; - - case PFA_OPT: - pfb = 0; - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1asm (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) - ifp = stdin; - else if (!(ifp = fopen(clp->arg, "r"))) - fatal_error("%s: %s", clp->arg, strerror(errno)); - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!pfb) { - if (blocklen == -1) - blocklen = 64; - else if (blocklen < 8) { - blocklen = 8; - error("warning: line length raised to %d", blocklen); - } else if (blocklen > 1024) { - blocklen = 1024; - error("warning: line length lowered to %d", blocklen); - } - } - - if (!ifp) ifp = stdin; - if (!ofp) ofp = stdout; - - if (pfb) - init_pfb_writer(&w, blocklen, ofp); - -#if defined(_MSDOS) || defined(_WIN32) - /* If we are processing a PFB (binary) output */ - /* file, we must set its file mode to binary. */ - if (pfb) - _setmode(_fileno(ofp), _O_BINARY); -#endif - - /* Finally, we loop until no more input. Some special things to look for are - the `currentfile eexec' line, the beginning of the `/Subrs' or - `/CharStrings' definition, the definition of `/lenIV', and the definition - of the charstring start command which has `...string currentfile...' in - it. - - Being careful: Check with `/Subrs' and `/CharStrings' to see that a - number follows the token -- otherwise, the token is probably nested in a - subroutine a la Adobe Jenson, and we shouldn't pay attention to it. - - Bugs: Occurrence of `/Subrs 9' in a comment will fool t1asm. - - Thanks to Tom Kacvinsky who reported that some fonts come - without /Subrs sections and provided a patch. */ - - while (!feof(ifp) && !ferror(ifp)) { - texlive_getline(); - - if (!ever_active) { - if (strncmp(line, "currentfile eexec", 17) == 0 && isspace(line[17])) { - /* Allow arbitrary whitespace after "currentfile eexec". - Thanks to Tom Kacvinsky for reporting this. - Note: strlen("currentfile eexec") == 17. */ - for (p = line + 18; isspace(*p); p++) - ; - eexec_start(p); - continue; - } else if (strncmp(line, "/lenIV", 6) == 0) { - lenIV = atoi(line + 6); - } else if ((p = strstr(line, "string currentfile")) - && strstr(line, "readstring")) { /* enforce `readstring' */ - /* locate the name of the charstring start command */ - *p = '\0'; /* damage line[] */ - q = strrchr(line, '/'); - if (q) { - r = cs_start; - ++q; - while (!isspace(*q) && *q != '{') - *r++ = *q++; - *r = '\0'; - } - *p = 's'; /* repair line[] */ - } - } - - if (!active) { - if ((p = strstr(line, "/Subrs")) && isdigit(p[7])) - ever_active = active = 1; - else if ((p = strstr(line, "/CharStrings")) && isdigit(p[13])) - ever_active = active = 1; - } - if ((p = strstr(line, "currentfile closefile"))) { - /* 2/14/99 -- happy Valentine's day! -- don't look for `mark - currentfile closefile'; the `mark' might be on a different line */ - /* 1/3/2002 -- happy new year! -- Luc Devroye reports a failure with - some printers when `currentfile closefile' is followed by space */ - p += sizeof("currentfile closefile") - 1; - for (q = p; isspace(*q) && *q != '\n'; q++) - /* nada */; - if (q == p && !*q) - error("warning: `currentfile closefile' line too long"); - else if (q != p) { - if (*q != '\n') - error("text after `currentfile closefile' ignored"); - *p++ = '\n'; - *p++ = '\0'; - } - eexec_string(line); - break; - } - - eexec_string(line); - - /* output line data */ - if (start_charstring) { - if (!cs_start[0]) - fatal_error("couldn't find charstring start command"); - parse_charstring(); - } - } - - /* Handle remaining PostScript after the eexec section */ - if (in_eexec) - eexec_end(); - - /* There may be additional code. */ - while (!feof(ifp) && !ferror(ifp)) { - texlive_getline(); - eexec_string(line); - } - - if (pfb) - pfb_writer_end(&w); - - /* the end! */ - if (!ever_active) - error("warning: no charstrings found in input file"); - fclose(ifp); - fclose(ofp); - return 0; -} diff --git a/Build/source/utils/t1utils/t1binary.1 b/Build/source/utils/t1utils/t1binary.1 deleted file mode 100644 index 839638c8ede..00000000000 --- a/Build/source/utils/t1utils/t1binary.1 +++ /dev/null @@ -1,42 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1BINARY 1 "" "Version \*V" -.SH NAME -t1binary \- convert PostScript Type 1 font from ASCII to binary -.SH SYNOPSIS -.B t1binary -\%[\fB\-l\fR \fIlength\fR] -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.B t1binary -converts Adobe Type 1 font programs in PFA (hexadecimal) format to PFB -(binary) format. If the file -.I output -is not specified output goes to the standard output. -If the file -.I input -is not specified input comes from the standard input. -.SH OPTIONS -.TP 5 -.BI \-\-block\-length= "length\fR, " \-l " length" -Set the maximum length of sections in PFB output to -.I length. -The default length is as large as memory allows. -.SH "SEE ALSO" -.LP -.M t1ascii 1 , -.M t1unmac 1 , -.M t1mac 1 , -.M t1disasm 1 , -.M t1asm 1 -.LP -.I "Adobe Type 1 Font Format" -.SH AUTHORS -Lee Hetherington (ilh@lcs.mit.edu) -.br -Eddie Kohler (ekohler@gmail.com) -.PP -Ported to Microsoft C/C++ Compiler and MS-DOS operating system by -Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1binary.c b/Build/source/utils/t1utils/t1binary.c deleted file mode 100644 index a08a350350e..00000000000 --- a/Build/source/utils/t1utils/t1binary.c +++ /dev/null @@ -1,280 +0,0 @@ -/* t1binary - * - * This program takes an Adobe Type-1 font program in ASCII (PFA) format and - * converts it to binary (PFB) format. - * - * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. - * - * I. Lee Hetherington (ilh@lcs.mit.edu) - * - * 1.5 and later versions contain changes by, and are maintained by, - * Eddie Kohler . - * - * New change log in `NEWS'. Old change log: - * - * Revision 1.2 92/06/23 10:58:08 ilh - * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) - * incoporated. - * - * Revision 1.1 92/05/22 11:58:17 ilh - * initial version - * - * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by - * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code - * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS - * ... #endif, where _MSDOS is an identifier, which is automatically - * defined, if you compile with the Microsoft C/C++ Compiler. - * - */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char byte; - -/* for PFB block buffering */ -static struct pfb_writer w; - - -/* PFB font_reader functions */ - -static void -pfb_output_ascii(char *s, int len) -{ - if (w.blocktyp == PFB_BINARY) { - pfb_writer_output_block(&w); - w.blocktyp = PFB_ASCII; - } - for (; len > 0; len--, s++) - PFB_OUTPUT_BYTE(&w, (byte)*s); -} - -static void -pfb_output_binary(unsigned char *s, int len) -{ - if (w.blocktyp == PFB_ASCII) { - pfb_writer_output_block(&w); - w.blocktyp = PFB_BINARY; - } - for (; len > 0; len--, s++) - PFB_OUTPUT_BYTE(&w, *s); -} - -static void -pfb_output_end() -{ - pfb_writer_end(&w); -} - - -/***** - * Command line - **/ - -#define BLOCK_LEN_OPT 300 -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 - -static Clp_Option options[] = { - { "block-length", 'l', BLOCK_LEN_OPT, Clp_ArgInt, 0 }, - { "help", 0, HELP_OPT, 0, 0 }, - { "length", 0, BLOCK_LEN_OPT, Clp_ArgInt, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; -static const char *program_name; - - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); -} - - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - - -void -usage(void) -{ - printf("\ -`T1binary' translates a PostScript Type 1 font from ASCII (PFA) to compact\n\ -binary (PFB) format. The result is written to the standard output unless an\n\ -OUTPUT file is given.\n\ -\n\ -Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -\n\ -Options:\n\ - -l, --block-length=NUM Set max output block length.\n\ - -o, --output=FILE Write output to FILE.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - -#ifdef __cplusplus -} -#endif - - -int -main(int argc, char *argv[]) -{ - int c; - FILE *ifp = 0, *ofp = 0; - const char *ifp_filename = ""; - struct font_reader fr; - int max_blocklen = -1; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case BLOCK_LEN_OPT: - max_blocklen = clp->val.i; - if (max_blocklen <= 0) { - max_blocklen = 1; - error("warning: block length raised to %d", max_blocklen); - } - break; - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else { - ofp = fopen(clp->arg, "wb"); - if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1binary (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) - ifp = stdin; - else { - ifp_filename = clp->arg; - ifp = fopen(clp->arg, "r"); - if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!ifp) ifp = stdin; - if (!ofp) ofp = stdout; - -#if defined(_MSDOS) || defined(_WIN32) - /* As we are processing a PFB (binary) output */ - /* file, we must set its file mode to binary. */ - _setmode(_fileno(ofp), _O_BINARY); -#endif - - /* prepare font reader and pfb writer */ - fr.output_ascii = pfb_output_ascii; - fr.output_binary = pfb_output_binary; - fr.output_end = pfb_output_end; - init_pfb_writer(&w, max_blocklen, ofp); - - /* peek at first byte to see if it is the PFB marker 0x80 */ - c = getc(ifp); - ungetc(c, ifp); - - /* do the file */ - if (c == PFB_MARKER) - process_pfb(ifp, ifp_filename, &fr); - else if (c == '%') - process_pfa(ifp, ifp_filename, &fr); - else - fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); - - fclose(ifp); - fclose(ofp); - - if (!w.binary_blocks_written) - fatal_error("no binary blocks written! Are you sure this was a font?"); - - return 0; -} diff --git a/Build/source/utils/t1utils/t1disasm.1 b/Build/source/utils/t1utils/t1disasm.1 deleted file mode 100644 index 17a82f27a43..00000000000 --- a/Build/source/utils/t1utils/t1disasm.1 +++ /dev/null @@ -1,96 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1DISASM 1 "" "Version \*V" -.SH NAME -t1disasm \- disassemble PostScript Type 1 font -.SH SYNOPSIS -.B t1disasm -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.B t1disasm -disassembles Adobe Type 1 font programs in either PFA (hexadecimal) or PFB -(binary) formats into human-readable form. If the file -.I output -is not specified output goes to the standard output. -If the file -.I input -is not specified input comes from the standard input. - -.B t1disasm -performs eexec and charstring decryption as specified in the ``black -book'', -.I "Adobe Type 1 Font Format." -Additionally, the charstring binary tokens are expanded into human-readable -text form, using the names given in the black book and later documents -describing Type 2 opcodes. -.SH EXAMPLES -.LP -.nf -% t1disasm Utopia-Regular.pfb Utopia-Regular.raw -% t1disasm Utopia-Regular.pfa Utopia-Regular.raw -.fi - -In -.B Subrs -entries in Utopia-Regular.raw will look like -.RS -.nf -.ft B -dup 5 { - 8 111 vstem - -12 128 hstem - 707 -20 hstem - return - } | -.ft R -.fi -.RE -and the -.B CharStrings -entries like -.RS -.nf -.ft B -/exclam { - 58 242 hsbw - 6 callsubr - 5 4 callsubr - 63 707 rmoveto - -54 0 -5 -22 4 -45 rrcurveto - 40 -431 rlineto - 29 hlineto - 42 431 rlineto - 4 45 -5 22 -55 0 rrcurveto - closepath - 6 4 callsubr - -719 vmoveto - 243 callsubr - endchar - } |- -.ft R -.fi -.RE -.SH "SEE ALSO" -.LP -.M t1asm 1 , -.M t1ascii 1 , -.M t1binary 1 , -.M t1unmac 1 , -.M t1mac 1 -.LP -.I "Adobe Type 1 Font Format" -is available free from Adobe as a PDF file: -http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF -.LP -.I "The Type 2 Charstring Format," -also available from Adobe as a PDF file, describes the newer Type 2 -operators, which are also used in some multiple-master Type 1 fonts like -Adobe Jenson and Kepler: -http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf -' -.SH AUTHORS -Lee Hetherington (ilh@lcs.mit.edu) -.br -Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1disasm.c b/Build/source/utils/t1utils/t1disasm.c deleted file mode 100644 index 03d00bb7dc6..00000000000 --- a/Build/source/utils/t1utils/t1disasm.c +++ /dev/null @@ -1,779 +0,0 @@ -/* t1disasm - * - * This program `disassembles' Adobe Type-1 font programs in either PFB or PFA - * format. It produces a human readable/editable pseudo-PostScript file by - * performing eexec and charstring decryption as specified in the `Adobe Type 1 - * Font Format' version 1.1 (the `black book'). There is a companion program, - * t1asm, which `assembles' such a pseudo-PostScript file into either PFB or - * PFA format. - * - * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. - * - * I. Lee Hetherington (ilh@lcs.mit.edu) - * - * 1.5 and later versions contain changes by, and are maintained by, - * Eddie Kohler . - * - * New change log in `NEWS'. Old change log: - * - * Revision 1.4 92/07/10 10:55:08 ilh - * Added support for additional PostScript after the closefile command - * (ie., some fonts have {restore}if' after the cleartomark). Also, - * removed hardwired charstring start command (-| or RD) in favor of - * automatically determining it. - * - * Revision 1.3 92/06/23 10:57:53 ilh - * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) - * incoporated. - * - * Revision 1.2 92/05/22 12:05:33 ilh - * Fixed bug where we were counting on sprintf to return its first - * argument---not true in ANSI C. This bug was detected by Piet - * Tutelaers (rcpt@urc.tue.nl). Also, fixed (signed) integer overflow - * error when testing high-order bit of integer for possible - * sign-extension by making comparison between unsigned integers. - * - * Revision 1.1 92/05/22 12:04:07 ilh - * initial version - * - * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by - * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code - * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS - * ... #endif, where _MSDOS is an identifier, which is automatically - * defined, if you compile with the Microsoft C/C++ Compiler. - * - */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char byte; - -static FILE *ofp; -static int lenIV = 4; -static char cs_start[10]; -static int unknown = 0; - -/* decryption stuff */ -static uint16_t c1 = 52845, c2 = 22719; -static uint16_t cr_default = 4330; -static uint16_t er_default = 55665; - -static int error_count = 0; - - -/* If the line contains an entry of the form `/lenIV ' then set the global - lenIV to . This indicates the number of random bytes at the beginning - of each charstring. */ - -static void -set_lenIV(char *line) -{ - char *p = strstr(line, "/lenIV "); - - /* Allow lenIV to be negative. Thanks to Tom Kacvinsky */ - if (p && (isdigit(p[7]) || p[7] == '+' || p[7] == '-')) { - lenIV = atoi(p + 7); - } -} - -static void -set_cs_start(char *line) -{ - char *p, *q, *r; - - if ((p = strstr(line, "string currentfile"))) { - /* enforce presence of `readstring' -- 5/29/99 */ - if (!strstr(line, "readstring")) - return; - /* locate the name of the charstring start command */ - *p = '\0'; /* damage line[] */ - q = strrchr(line, '/'); - if (q) { - r = cs_start; - ++q; - while (!isspace(*q) && *q != '{') - *r++ = *q++; - *r = '\0'; - } - *p = 's'; /* repair line[] */ - } -} - -/* Subroutine to output strings. */ - -static void -output(const char *string) -{ - fprintf(ofp, "%s", string); -} - -/* Subroutine to neatly format output of charstring tokens. If token = "\n", - then a newline is output. If at start of line (start == 1), prefix token - with tab, otherwise a space. */ - -static void -output_token(const char *token) -{ - static int start = 1; - if (strcmp(token, "\n") == 0) { - fprintf(ofp, "\n"); - start = 1; - } else { - fprintf(ofp, "%s%s", start ? "\t" : " ", token); - start = 0; - } -} - -/* Subroutine to decrypt and ASCII-ify tokens in charstring data. The - charstring decryption machinery is fired up, skipping the first lenIV - bytes, and the decrypted tokens are expanded into human-readable form. */ - -static void -decrypt_charstring(unsigned char *line, int len) -{ - int i; - int32_t val; - char buf[20]; - - /* decrypt charstring */ - if (lenIV >= 0) { - /* only decrypt if lenIV >= 0 -- negative lenIV means unencrypted - charstring. Thanks to Tom Kacvinsky */ - uint16_t cr = cr_default; - byte plain; - for (i = 0; i < len; i++) { - byte cipher = line[i]; - plain = (byte)(cipher ^ (cr >> 8)); - cr = (uint16_t)((cipher + cr) * c1 + c2); - line[i] = plain; - } - line += lenIV; - len -= lenIV; - } - - /* handle each charstring command */ - for (i = 0; i < len; i++) { - byte b = line[i]; - - if (b >= 32) { - if (b >= 32 && b <= 246) - val = b - 139; - else if (b >= 247 && b <= 250) { - i++; - val = (b - 247)*256 + 108 + line[i]; - } else if (b >= 251 && b <= 254) { - i++; - val = -(b - 251)*256 - 108 - line[i]; - } else { - val = (line[i+1] & 0xff) << 24; - val |= (line[i+2] & 0xff) << 16; - val |= (line[i+3] & 0xff) << 8; - val |= (line[i+4] & 0xff) << 0; - /* in case an int32 is larger than four bytes---sign extend */ -#if INT_MAX > 0x7FFFFFFFUL - if (val & 0x80000000) - val |= ~0x7FFFFFFF; -#endif - i += 4; - } - sprintf(buf, "%d", val); - output_token(buf); - - } else { - switch (b) { - case 0: output_token("error"); break; /* special */ - case 1: output_token("hstem"); break; - case 3: output_token("vstem"); break; - case 4: output_token("vmoveto"); break; - case 5: output_token("rlineto"); break; - case 6: output_token("hlineto"); break; - case 7: output_token("vlineto"); break; - case 8: output_token("rrcurveto"); break; - case 9: output_token("closepath"); break; /* Type 1 ONLY */ - case 10: output_token("callsubr"); break; - case 11: output_token("return"); break; - case 13: output_token("hsbw"); break; /* Type 1 ONLY */ - case 14: output_token("endchar"); break; - case 16: output_token("blend"); break; /* Type 2 */ - case 18: output_token("hstemhm"); break; /* Type 2 */ - case 19: output_token("hintmask"); break; /* Type 2 */ - case 20: output_token("cntrmask"); break; /* Type 2 */ - case 21: output_token("rmoveto"); break; - case 22: output_token("hmoveto"); break; - case 23: output_token("vstemhm"); break; /* Type 2 */ - case 24: output_token("rcurveline"); break; /* Type 2 */ - case 25: output_token("rlinecurve"); break; /* Type 2 */ - case 26: output_token("vvcurveto"); break; /* Type 2 */ - case 27: output_token("hhcurveto"); break; /* Type 2 */ - case 28: { /* Type 2 */ - /* short integer */ - val = (line[i+1] & 0xff) << 8; - val |= (line[i+2] & 0xff); - i += 2; - if (val & 0x8000) - val |= ~0x7FFF; - sprintf(buf, "%d", val); - output_token(buf); - } - case 29: output_token("callgsubr"); break; /* Type 2 */ - case 30: output_token("vhcurveto"); break; - case 31: output_token("hvcurveto"); break; - case 12: - i++; - b = line[i]; - switch (b) { - case 0: output_token("dotsection"); break; /* Type 1 ONLY */ - case 1: output_token("vstem3"); break; /* Type 1 ONLY */ - case 2: output_token("hstem3"); break; /* Type 1 ONLY */ - case 3: output_token("and"); break; /* Type 2 */ - case 4: output_token("or"); break; /* Type 2 */ - case 5: output_token("not"); break; /* Type 2 */ - case 6: output_token("seac"); break; /* Type 1 ONLY */ - case 7: output_token("sbw"); break; /* Type 1 ONLY */ - case 8: output_token("store"); break; /* Type 2 */ - case 9: output_token("abs"); break; /* Type 2 */ - case 10: output_token("add"); break; /* Type 2 */ - case 11: output_token("sub"); break; /* Type 2 */ - case 12: output_token("div"); break; - case 13: output_token("load"); break; /* Type 2 */ - case 14: output_token("neg"); break; /* Type 2 */ - case 15: output_token("eq"); break; /* Type 2 */ - case 16: output_token("callothersubr"); break; /* Type 1 ONLY */ - case 17: output_token("pop"); break; /* Type 1 ONLY */ - case 18: output_token("drop"); break; /* Type 2 */ - case 20: output_token("put"); break; /* Type 2 */ - case 21: output_token("get"); break; /* Type 2 */ - case 22: output_token("ifelse"); break; /* Type 2 */ - case 23: output_token("random"); break; /* Type 2 */ - case 24: output_token("mul"); break; /* Type 2 */ - case 26: output_token("sqrt"); break; /* Type 2 */ - case 27: output_token("dup"); break; /* Type 2 */ - case 28: output_token("exch"); break; /* Type 2 */ - case 29: output_token("index"); break; /* Type 2 */ - case 30: output_token("roll"); break; /* Type 2 */ - case 33: output_token("setcurrentpoint"); break;/* Type 1 ONLY */ - case 34: output_token("hflex"); break; /* Type 2 */ - case 35: output_token("flex"); break; /* Type 2 */ - case 36: output_token("hflex1"); break; /* Type 2 */ - case 37: output_token("flex1"); break; /* Type 2 */ - default: - sprintf(buf, "escape_%d", b); - unknown++; - output_token(buf); - break; - } - break; - default: - sprintf(buf, "UNKNOWN_%d", b); - unknown++; - output_token(buf); - break; - } - output_token("\n"); - } - } - if (i > len) { - output("\terror\n"); - error("disassembly error: charstring too short"); - } -} - - -/* Disassembly font_reader functions */ - -static int in_eexec = 0; -static unsigned char *save = 0; -static int save_len = 0; -static int save_cap = 0; - -static void -append_save(const unsigned char *line, int len) -{ - if (save_len + len >= save_cap) { - unsigned char *new_save; - if (!save_cap) save_cap = 1024; - while (save_len + len >= save_cap) save_cap *= 2; - new_save = (unsigned char *)malloc(save_cap); - if (!new_save) - fatal_error("out of memory"); - memcpy(new_save, save, save_len); - free(save); - save = new_save; - } - memcpy(save + save_len, line, len); - save_len += len; -} - -/* 23.Feb.2004 - use 'memstr', not strstr, because the strings input to - eexec_line aren't null terminated! Reported by Werner Lemberg. */ - -static const unsigned char * -oog_memstr(const unsigned char *line, int line_len, const char *pattern, int pattern_len) -{ - const unsigned char *try; - const unsigned char *last = line + line_len - pattern_len + 1; - while (line < last - && (try = memchr(line, (unsigned char)*pattern, last - line))) { - if (memcmp(try, pattern, pattern_len) == 0) - return try; - else - line = try + 1; - } - return 0; -} - -/* returns 1 if next \n should be deleted */ - -static int -eexec_line(unsigned char *line, int line_len) -{ - int cs_start_len = strlen(cs_start); - int pos; - int first_space; - int digits; - int cut_newline = 0; - - /* append this data to the end of `save' if necessary */ - if (save_len) { - append_save(line, line_len); - line = save; - line_len = save_len; - } - - if (!line_len) - return 0; - - /* Look for charstring start */ - - /* skip first word */ - for (pos = 0; pos < line_len && isspace(line[pos]); pos++) - ; - while (pos < line_len && !isspace(line[pos])) - pos++; - if (pos >= line_len) - goto not_charstring; - - /* skip spaces */ - first_space = pos; - while (pos < line_len && isspace(line[pos])) - pos++; - if (pos >= line_len || !isdigit(line[pos])) - goto not_charstring; - - /* skip number */ - digits = pos; - while (pos < line_len && isdigit(line[pos])) - pos++; - - /* check for subr (another number) */ - if (pos < line_len - 1 && isspace(line[pos]) && isdigit(line[pos+1])) { - first_space = pos; - digits = pos + 1; - for (pos = digits; pos < line_len && isdigit(line[pos]); pos++) - ; - } - - /* check for charstring start */ - if (pos + 2 + cs_start_len < line_len - && pos > digits - && line[pos] == ' ' - && strncmp((const char *)(line + pos + 1), cs_start, cs_start_len) == 0 - && line[pos + 1 + cs_start_len] == ' ') { - /* check if charstring is long enough */ - int cs_len = atoi((const char *)(line + digits)); - if (pos + 2 + cs_start_len + cs_len < line_len) { - /* long enough! */ - if (line[line_len - 1] == '\r') { - line[line_len - 1] = '\n'; - cut_newline = 1; - } - fprintf(ofp, "%.*s {\n", first_space, line); - decrypt_charstring(line + pos + 2 + cs_start_len, cs_len); - pos += 2 + cs_start_len + cs_len; - fprintf(ofp, "\t}%.*s", line_len - pos, line + pos); - save_len = 0; - return cut_newline; - } else { - /* not long enough! */ - if (line != save) - append_save(line, line_len); - return 0; - } - } - - /* otherwise, just output the line */ - not_charstring: - /* 6.Oct.2003 - Werner Lemberg reports a stupid Omega font that behaves - badly: a charstring definition follows "/Charstrings ... begin", ON THE - SAME LINE. */ - { - const char *CharStrings = (const char *) - oog_memstr(line, line_len, "/CharStrings ", 13); - int crap, n; - char should_be_slash = 0; - if (CharStrings - && sscanf(CharStrings + 12, " %d dict dup begin %c%n", &crap, &should_be_slash, &n) >= 2 - && should_be_slash == '/') { - int len = (CharStrings + 12 + n - 1) - (char *) line; - fprintf(ofp, "%.*s\n", len, line); - return eexec_line((unsigned char *) (CharStrings + 12 + n - 1), line_len - len); - } - } - - if (line[line_len - 1] == '\r') { - line[line_len - 1] = '\n'; - cut_newline = 1; - } - set_lenIV((char *)line); - set_cs_start((char *)line); - fprintf(ofp, "%.*s", line_len, line); - save_len = 0; - - /* look for `currentfile closefile' to see if we should stop decrypting */ - if (oog_memstr(line, line_len, "currentfile closefile", 21) != 0) - in_eexec = -1; - - return cut_newline; -} - -static int -all_zeroes(const char *string) -{ - if (*string != '0') - return 0; - while (*string == '0') - string++; - return *string == '\0' || *string == '\n'; -} - -static void -disasm_output_ascii(char *line, int len) -{ - int was_in_eexec = in_eexec; - (void) len; /* avoid warning */ - in_eexec = 0; - - /* if we came from a binary section, we need to process that too */ - if (was_in_eexec > 0) { - unsigned char zero = 0; - eexec_line(&zero, 0); - } - - /* if we just came from the "ASCII part" of an eexec section, we need to - process the saved lines */ - if (was_in_eexec < 0) { - int i = 0; - int save_char = 0; /* note: save[] is unsigned char * */ - - while (i < save_len) { - /* grab a line */ - int start = i; - while (i < save_len && save[i] != '\r' && save[i] != '\n') - i++; - if (i < save_len) { - if (i < save_len - 1 && save[i] == '\r' && save[i+1] == '\n') - save_char = -1; - else - save_char = save[i+1]; - save[i] = '\n'; - save[i+1] = 0; - } else - save[i] = 0; - - /* output it */ - disasm_output_ascii((char *)(save + start), -1); - - /* repair damage */ - if (i < save_len) { - if (save_char >= 0) { - save[i+1] = save_char; - i++; - } else - i += 2; - } - } - save_len = 0; - } - - if (!all_zeroes(line)) - output(line); -} - -/* collect until '\n' or end of binary section */ - -static void -disasm_output_binary(unsigned char *data, int len) -{ - static int ignore_newline; - static uint16_t er; - - byte plain; - int i; - - /* in the ASCII portion of a binary section, just save this data */ - if (in_eexec < 0) { - append_save(data, len); - return; - } - - /* eexec initialization */ - if (in_eexec == 0) { - er = er_default; - ignore_newline = 0; - in_eexec = 0; - } - if (in_eexec < 4) { - for (i = 0; i < len && in_eexec < 4; i++, in_eexec++) { - byte cipher = data[i]; - plain = (byte)(cipher ^ (er >> 8)); - er = (uint16_t)((cipher + er) * c1 + c2); - data[i] = plain; - } - data += i; - len -= i; - } - - /* now make lines: collect until '\n' or '\r' and pass them off to - eexec_line. */ - i = 0; - while (in_eexec > 0) { - int start = i; - - for (; i < len; i++) { - byte cipher = data[i]; - plain = (byte)(cipher ^ (er >> 8)); - er = (uint16_t)((cipher + er) * c1 + c2); - data[i] = plain; - if (plain == '\r' || plain == '\n') - break; - } - - if (ignore_newline && start < i && data[start] == '\n') { - ignore_newline = 0; - continue; - } - - if (i >= len) { - if (start < len) - append_save(data + start, i - start); - break; - } - - i++; - ignore_newline = eexec_line(data + start, i - start); - } - - /* if in_eexec < 0, we have some plaintext lines sitting around in a binary - section of the PFB. save them for later */ - if (in_eexec < 0 && i < len) - append_save(data + i, len - i); -} - -static void -disasm_output_end() -{ - /* take care of leftover saved data */ - static char crap[1] = ""; - disasm_output_ascii(crap, 0); -} - - -/***** - * Command line - **/ - -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 - -static Clp_Option options[] = { - { "help", 0, HELP_OPT, 0, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; -static const char *program_name; - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - fputc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - fputc('\n', stderr); - error_count++; -} - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [INPUT [OUTPUT]]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - -void -usage(void) -{ - printf("\ -`T1disasm' translates a PostScript Type 1 font in PFB or PFA format into a\n\ -human-readable, human-editable form. The result is written to the standard\n\ -output unless an OUTPUT file is given.\n\ -\n\ -Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -\n\ -Options:\n\ - -o, --output=FILE Write output to FILE.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - -#ifdef __cplusplus -} -#endif - - -int -main(int argc, char *argv[]) -{ - struct font_reader fr; - int c; - FILE *ifp = 0; - const char *ifp_filename = ""; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else { - ofp = fopen(clp->arg, "w"); - if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1disasm (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) - ifp = stdin; - else { - ifp_filename = clp->arg; - ifp = fopen(clp->arg, "rb"); - if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!ifp) ifp = stdin; - if (!ofp) ofp = stdout; - -#if defined(_MSDOS) || defined(_WIN32) - /* As we might be processing a PFB (binary) input file, we must set its file - mode to binary. */ - _setmode(_fileno(ifp), _O_BINARY); -#endif - - /* prepare font reader */ - fr.output_ascii = disasm_output_ascii; - fr.output_binary = disasm_output_binary; - fr.output_end = disasm_output_end; - - /* peek at first byte to see if it is the PFB marker 0x80 */ - c = getc(ifp); - ungetc(c, ifp); - - /* do the file */ - if (c == PFB_MARKER) - process_pfb(ifp, ifp_filename, &fr); - else if (c == '%') - process_pfa(ifp, ifp_filename, &fr); - else - fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); - - fclose(ifp); - fclose(ofp); - - if (unknown) - error((unknown > 1 - ? "encountered %d unknown charstring commands" - : "encountered %d unknown charstring command"), - unknown); - - return (error_count ? 1 : 0); -} diff --git a/Build/source/utils/t1utils/t1lib.c b/Build/source/utils/t1utils/t1lib.c deleted file mode 100644 index d7b82a9f208..00000000000 --- a/Build/source/utils/t1utils/t1lib.c +++ /dev/null @@ -1,441 +0,0 @@ -/* t1lib - * - * This file contains functions for reading PFA and PFB files. - * - * (C) 1999-2008 Eddie Kohler , after code by - * I. Lee Hetherington . All rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice remains intact. - * - */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#include -#include -#include -#include -#include "t1lib.h" -#ifdef __cplusplus -extern "C" { -#endif - -#define PFA_ASCII 1 -#define PFA_EEXEC_TEST 2 -#define PFA_HEX 3 -#define PFA_BINARY 4 - -/* This function returns the value (0-15) of a single hex digit. It returns - 0 for an invalid hex digit. */ - -static int -hexval(char c) -{ - if (c >= 'A' && c <= 'F') - return c - 'A' + 10; - else if (c >= 'a' && c <= 'f') - return c - 'a' + 10; - else if (c >= '0' && c <= '9') - return c - '0'; - else - return 0; -} - -/* This function translates a string of hexadecimal digits into binary data. - We allow an odd number of digits. Returns length of binary data. */ - -static int -translate_hex_string(char *s, char *saved_orphan) -{ - int c1 = *saved_orphan; - char *start = s; - char *t = s; - for (; *s; s++) { - if (isspace(*s)) - continue; - if (c1) { - *t++ = (hexval(c1) << 4) + hexval(*s); - c1 = 0; - } else - c1 = *s; - } - *saved_orphan = c1; - return t - start; -} - -/* This function returns 1 if the string contains all '0's. */ - -static int -all_zeroes(char *s) -{ - if (*s == '\0' || *s == '\n') - return 0; - while (*s == '0') - s++; - return *s == '\0' || *s == '\n'; -} - -/* This function handles the entire file. */ - -#define LINESIZE 1024 - -void -process_pfa(FILE *ifp, const char *ifp_filename, struct font_reader *fr) -{ - /* Loop until no more input. We need to look for `currentfile eexec' to - start eexec section (hex to binary conversion) and line of all zeros to - switch back to ASCII. */ - - /* Don't use fgets() in case line-endings are indicated by bare \r's, as - occurs in Macintosh fonts. */ - - /* 2.Aug.1999 - At the behest of Tom Kacvinsky , support - binary PFA fonts. */ - - char buffer[LINESIZE]; - int c = 0; - int blocktyp = PFA_ASCII; - char saved_orphan = 0; - (void)ifp_filename; - - while (c != EOF) { - char *line = buffer, *last = buffer; - int crlf = 0; - c = getc(ifp); - while (c != EOF && c != '\r' && c != '\n' && last < buffer + LINESIZE - 1) { - *last++ = c; - c = getc(ifp); - } - - /* handle the end of the line */ - if (last == buffer + LINESIZE - 1) - /* buffer overrun: don't append newline even if we have it */ - ungetc(c, ifp); - else if (c == '\r' && blocktyp != PFA_BINARY) { - /* change CR or CR/LF into LF, unless reading binary data! (This - condition was wrong before, caused Thanh problems - - 6.Mar.2001) */ - c = getc(ifp); - if (c != '\n') - ungetc(c, ifp), crlf = 1; - else - crlf = 2; - *last++ = '\n'; - } else if (c != EOF) - *last++ = c; - - *last = 0; - - /* now that we have the line, handle it */ - if (blocktyp == PFA_ASCII) { - if (strncmp(line, "currentfile eexec", 17) == 0 && isspace(line[17])) { - char saved_p; - /* assert(line == buffer); */ - for (line += 18; isspace(*line); line++) - /* nada */; - saved_p = *line; - *line = 0; - fr->output_ascii(buffer, line - buffer); - *line = saved_p; - blocktyp = PFA_EEXEC_TEST; - if (!*line) - continue; - } else { - fr->output_ascii(line, last - line); - continue; - } - } - - /* check immediately after "currentfile eexec" for ASCII or binary */ - if (blocktyp == PFA_EEXEC_TEST) { - /* 8.Feb.2004: fix bug if first character in a binary eexec block - is 0, reported by Werner Lemberg */ - for (; line < last && isspace(*line); line++) - /* nada */; - if (line == last) - continue; - else if (last >= line + 4 && isxdigit(line[0]) && isxdigit(line[1]) - && isxdigit(line[2]) && isxdigit(line[3])) - blocktyp = PFA_HEX; - else - blocktyp = PFA_BINARY; - memmove(buffer, line, last - line + 1); - last = buffer + (last - line); - line = buffer; - /* patch up crlf fix */ - if (blocktyp == PFA_BINARY && crlf) { - last[-1] = '\r'; - if (crlf == 2) - *last++ = '\n'; - } - } - - /* blocktyp == PFA_HEX || blocktyp == PFA_BINARY */ - if (all_zeroes(line)) { /* XXX not safe */ - fr->output_ascii(line, last - line); - blocktyp = PFA_ASCII; - } else if (blocktyp == PFA_HEX) { - int len = translate_hex_string(line, &saved_orphan); - if (len) - fr->output_binary((unsigned char *)line, len); - } else - fr->output_binary((unsigned char *)line, last - line); - } - - fr->output_end(); -} - -/* Process a PFB file. */ - -/* XXX Doesn't handle "currentfile eexec" as intelligently as process_pfa - does. */ - -static int -handle_pfb_ascii(struct font_reader *fr, char *line, int len) -{ - /* Divide PFB_ASCII blocks into lines */ - int start = 0; - - while (1) { - int pos = start; - - while (pos < len && line[pos] != '\n' && line[pos] != '\r') - pos++; - - if (pos >= len) { - if (pos == start) - return 0; - else if (start == 0 && pos == LINESIZE - 1) { - line[pos] = 0; - fr->output_ascii(line, pos); - return 0; - } else { - memmove(line, line + start, pos - start); - return pos - start; - } - - } else if (pos < len - 1 && line[pos] == '\r' && line[pos+1] == '\n') { - line[pos] = '\n'; - line[pos+1] = 0; - fr->output_ascii(line + start, pos + 1 - start); - start = pos + 2; - - } else { - char save = line[pos+1]; - line[pos] = '\n'; - line[pos+1] = 0; - fr->output_ascii(line + start, pos + 1 - start); - line[pos+1] = save; - start = pos + 1; - } - } -} - - -void -process_pfb(FILE *ifp, const char *ifp_filename, struct font_reader *fr) -{ - int blocktyp = 0; - int block_len = 0; - int c = 0; - int filepos = 0; - int linepos = 0; - char line[LINESIZE]; - - while (1) { - while (block_len == 0) { - c = getc(ifp); - blocktyp = getc(ifp); - if (c != PFB_MARKER - || (blocktyp != PFB_ASCII && blocktyp != PFB_BINARY - && blocktyp != PFB_DONE)) { - if (c == EOF || blocktyp == EOF) - error("%s corrupted: no end-of-file marker", ifp_filename); - else - error("%s corrupted: bad block marker at position %d", - ifp_filename, filepos); - blocktyp = PFB_DONE; - } - if (blocktyp == PFB_DONE) - goto done; - - block_len = getc(ifp) & 0xFF; - block_len |= (getc(ifp) & 0xFF) << 8; - block_len |= (getc(ifp) & 0xFF) << 16; - block_len |= (getc(ifp) & 0xFF) << 24; - if (feof(ifp)) { - error("%s corrupted: bad block length at position %d", - ifp_filename, filepos); - blocktyp = PFB_DONE; - goto done; - } - filepos += 6; - } - - /* read the block in its entirety, in LINESIZE chunks */ - while (block_len > 0) { - int rest = LINESIZE - 1 - linepos; /* leave space for '\0' */ - int n = (block_len > rest ? rest : block_len); - int actual = fread(line + linepos, 1, n, ifp); - if (actual != n) { - error("%s corrupted: block short by %d bytes at position %d", - ifp_filename, block_len - actual, filepos); - block_len = actual; - } - - if (blocktyp == PFB_BINARY) - fr->output_binary((unsigned char *)line, actual); - else - linepos = handle_pfb_ascii(fr, line, linepos + actual); - - block_len -= actual; - filepos += actual; - } - - /* handle any leftover line */ - if (linepos > 0) { - line[linepos] = 0; - fr->output_ascii(line, linepos); - linepos = 0; - } - } - - done: - c = getc(ifp); - if (c != EOF) - error("%s corrupted: data after PFB end marker at position %d", - ifp_filename, filepos - 2); - fr->output_end(); -} - - -#define DEFAULT_BLOCKLEN (1L<<12) - -void -init_pfb_writer(struct pfb_writer *w, int blocklen, FILE *f) -{ - w->len = DEFAULT_BLOCKLEN; - w->buf = (unsigned char *)malloc(w->len); - if (!w->buf) - fatal_error("out of memory"); - w->max_len = (blocklen <= 0 ? 0xFFFFFFFFU : (unsigned)blocklen); - w->pos = 0; - w->blocktyp = PFB_ASCII; - w->binary_blocks_written = 0; - w->f = f; -} - -void -pfb_writer_output_block(struct pfb_writer *w) -{ - /* do nothing if nothing in block */ - if (w->pos == 0) - return; - - /* output four-byte block length */ - putc(PFB_MARKER, w->f); - putc(w->blocktyp, w->f); - putc((int)(w->pos & 0xff), w->f); - putc((int)((w->pos >> 8) & 0xff), w->f); - putc((int)((w->pos >> 16) & 0xff), w->f); - putc((int)((w->pos >> 24) & 0xff), w->f); - - /* output block data */ - fwrite(w->buf, 1, w->pos, w->f); - - /* mark block buffer empty and uninitialized */ - w->pos = 0; - if (w->blocktyp == PFB_BINARY) - w->binary_blocks_written++; -} - -void -pfb_writer_grow_buf(struct pfb_writer *w) -{ - if (w->len < w->max_len) { - /* grow w->buf */ - unsigned new_len = w->len * 2; - unsigned char *new_buf; - if (new_len > w->max_len) - new_len = w->max_len; - new_buf = (unsigned char *)malloc(new_len); - if (!new_buf) { - error("out of memory; continuing with a smaller block size"); - w->max_len = w->len; - pfb_writer_output_block(w); - } else { - memcpy(new_buf, w->buf, w->len); - free(w->buf); - w->buf = new_buf; - w->len = new_len; - } - - } else - /* buf already the right size, just output the block */ - pfb_writer_output_block(w); -} - -void -pfb_writer_end(struct pfb_writer *w) -{ - if (w->pos) - pfb_writer_output_block(w); - putc(PFB_MARKER, w->f); - putc(PFB_DONE, w->f); -} - -/* This CRC table and routine were borrowed from macutils-2.0b3 */ - -static unsigned short crctab[256] = { - 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, - 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, - 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, - 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, - 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, - 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, - 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, - 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, - 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, - 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, - 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, - 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, - 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, - 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, - 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, - 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, - 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, - 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, - 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, - 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, - 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, - 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, - 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, - 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, - 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, - 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, - 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, - 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, - 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, - 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, - 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, - 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0, -}; - -/* - * Update a CRC check on the given buffer. - */ - -int -crcbuf(int crc, unsigned int len, const char *buf) -{ - const unsigned char *ubuf = (const unsigned char *)buf; - while (len--) - crc = ((crc << 8) & 0xFF00) ^ crctab[((crc >> 8) & 0xFF) ^ *ubuf++]; - return crc; -} - -#ifdef __cplusplus -} -#endif diff --git a/Build/source/utils/t1utils/t1lib.h b/Build/source/utils/t1utils/t1lib.h deleted file mode 100644 index 93859fea731..00000000000 --- a/Build/source/utils/t1utils/t1lib.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef T1LIB_H -#define T1LIB_H -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef WIN32 -# pragma warning (disable: 4007 4096) -# define CDECL __cdecl -#else -# define CDECL -#endif - -#define PFB_MARKER 128 -#define PFB_ASCII 1 -#define PFB_BINARY 2 -#define PFB_DONE 3 - -struct font_reader { - void (*output_ascii)(char *, int); - void (*output_binary)(unsigned char *, int); - void (*output_end)(); -}; - -void process_pfa(FILE *, const char *filename, struct font_reader *); -void process_pfb(FILE *, const char *filename, struct font_reader *); - -struct pfb_writer { - unsigned char *buf; - unsigned len; - unsigned max_len; - unsigned pos; - int blocktyp; - int binary_blocks_written; - FILE *f; -}; - -void init_pfb_writer(struct pfb_writer *, int, FILE *); -void pfb_writer_output_block(struct pfb_writer *); -void pfb_writer_grow_buf(struct pfb_writer *); -void pfb_writer_end(struct pfb_writer *); -#define PFB_OUTPUT_BYTE(w, b) do { \ - if ((w)->pos >= (w)->len) pfb_writer_grow_buf(w); \ - (w)->buf[(w)->pos++] = (b); \ - } while (0) - -int crcbuf(int crc, unsigned int len, const char *buf); - -/* whoever uses this code must provide a definition for these functions */ -extern void error(const char *, ...); -extern void fatal_error(const char *, ...); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/Build/source/utils/t1utils/t1mac.1 b/Build/source/utils/t1utils/t1mac.1 deleted file mode 100644 index 0c381c53fb5..00000000000 --- a/Build/source/utils/t1utils/t1mac.1 +++ /dev/null @@ -1,62 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1MAC 1 "" "Version \*V" -.SH NAME -t1mac \- translate a PFA or PFB PostScript Type 1 font into Macintosh format -.SH SYNOPSIS -.B t1mac -\%[\fB\-\-macbinary\fR | \fB\-\-applesingle\fR | -\fB\-\-appledouble\fR | \fB\-\-binhex\fR | \fB\-\-raw\fR] -\%[\fB\-\-filename\fR \fIname\fR] -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.B t1mac -reads a PFA (hexadecimal) or PFB (binary) PostScript Type 1 font file and -generates an equivalent Macintosh Type 1 font file. The output file can be -in MacBinary II, AppleSingle, AppleDouble, or BinHex format, or it can be a -raw resource fork. The default is MacBinary II; use an option to choose a -different format. If the -.I output -file is not specified output goes to the standard output. -.PP -WARNING: The output of -.B t1mac -is not sufficient to use the font, since Macintoshes can't read raw Type 1 -fonts. You will need to create a font suitcase containing bitmap fonts if -you do not have such a suitcase for the font already. -.B t1mac -cannot help you do this. -.SH OPTIONS -.TP 5 -.BR \-\-raw ", " \-r -Indicates that output should be a raw resource fork. -.TP 5 -.BR \-\-macbinary -Indicates that output should be in MacBinary I or II format. This is the -default. -.TP 5 -.BR \-\-applesingle -Indicates that output should be in AppleSingle format. -.TP 5 -.BR \-\-appledouble -Indicates that output should be in AppleDouble format. -.TP 5 -.BR \-\-binhex -Indicates that output should be in BinHex 4.0 format. -.TP 5 -.BR \-\-filename "=\fIname\fR, " \-n " \fIname\fR" -Sets the Macintosh filename of the output font to \fIname\fR. The default -is to construct the filename from the font's name using established -Macintosh conventions. This option is not useful when output is a raw -resource fork. -.SH "SEE ALSO" -.LP -.M t1unmac 1 , -.M t1ascii 1 , -.M t1binary 1 , -.M t1asm 1 , -.M t1disasm 1 -.SH AUTHORS -Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1mac.c b/Build/source/utils/t1utils/t1mac.c deleted file mode 100644 index 0aa72315931..00000000000 --- a/Build/source/utils/t1utils/t1mac.c +++ /dev/null @@ -1,1019 +0,0 @@ -/* t1mac - * - * This program converts Type 1 fonts in PFA or PFB format into Macintosh Type - * 1 fonts stored in MacBinary (I or II), AppleSingle, AppleDouble, BinHex, or - * raw resource fork format. - * - * Copyright (c) 2000-2003 by Eddie Kohler, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char byte; - -/* resource fork layout */ -#define RFORK_HEADERLEN 256 -#define RFORK_MAP_RESERVEDLEN 22 -#define RFORK_MAP_HEADERLEN 28 -#define RFORK_RTYPE_LEN 8 -#define RFORK_RSRC_LEN 12 - -/* Macintosh times are # seconds since 1/1/1904, not 1/1/1970 */ -#define MAC_TIME_DELTA 2082844800 - -/* POST resource information */ -#define POST_ASCII 1 -#define POST_BINARY 2 -#define POST_END 5 - -/* Adobe font file information */ -#define T1_FILETYPE 0x4C57464E /* LWFN */ -#define T1_FILECREATOR 0x54315554 /* T1UT */ -#define T1_FINDERFLAGS 33 /* Bundle + Inited */ - -#define MAX_RSRC_LEN 2048 -static byte rbuf[MAX_RSRC_LEN]; -static int rbufpos; -static int blocktyp; - -static char *font_name; - -/* information about the resources being built */ -typedef struct Rsrc { - int32_t type; - int id; - int attrs; - int data_offset; - uint32_t data_len; - int next_in_type; - int next_type; -} Rsrc; -static Rsrc *rsrc = 0; -static int nrsrc = 0; -static int rsrc_cap = 0; -static int cur_post_id = 0; - -/* output resource fork */ -static FILE *rfork_f = 0; - -/* ICN# data */ -static const unsigned char icon_bw_data[] = { -0,0,0,0,255,255,255,255,128,0,0,1,128,0,0,1,128,0,0,1, -128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,33, -128,0,0,97,128,0,0,225,128,0,1,225,128,0,3,225,128,0,7,225, -128,0,15,225,128,0,31,225,128,0,55,225,159,128,103,249,144,128,199,9, -240,129,135,15,0,131,7,0,0,134,7,0,15,140,7,240,8,31,255,240, -8,63,255,240,8,96,7,240,8,192,7,240,9,192,15,240,11,224,31,240, -15,240,63,240,15,255,255,240,0,0,0,0,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, -255,255,255,255,240,255,255,15,240,255,255,15,0,255,255,0,0,255,255,0, -15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240, -15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240,}; - -static const unsigned char small_icon_bw_data[] = { -255,255,128,1,128,1,128,1,128,5,128,13,128,29,128,61,128,125,184,253, -201,179,59,60,39,252,44,60,60,124,63,252,255,255,255,255,255,255,255,255, -255,255,255,255,255,255,255,255,255,255,255,255,207,243,63,252,63,252,63,252, -63,252,63,252,}; - -static const unsigned char icon_8_data[] = { -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,92,92,92,92,105, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,5,5,92, -92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,5,5,5,5,92,92,92,92,105,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,5, -5,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,92,92,92,92,105, -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -5,5,5,5,5,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,5,5,92, -92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,5,5,92,5,5,5,5,5,5,92,92,92,92,105,92,92,92,105, -105,105,105,105,92,92,92,92,92,92,92,92,92,5,5,92,92,5,5,105, -105,105,105,105,92,92,92,105,92,92,92,105,0,0,0,0,92,92,92,92, -92,92,92,92,5,5,92,92,92,5,5,105,0,0,0,0,92,92,92,105, -105,105,105,105,0,0,0,0,92,92,92,92,92,92,92,5,5,92,92,92, -92,5,5,105,0,0,0,0,105,105,105,105,0,0,0,0,0,0,0,0, -92,92,92,92,92,92,5,5,92,92,92,92,92,5,5,105,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,92,92,92,92,92,5,5,92, -92,92,92,92,92,5,5,105,0,0,0,0,0,0,0,0,0,0,0,0, -92,92,92,92,92,92,92,92,5,5,92,92,92,92,92,92,92,5,5,5, -5,5,5,92,0,0,0,0,0,0,0,0,92,92,92,92,92,92,92,5, -5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,105,0,0,0,0, -0,0,0,0,92,92,92,92,92,92,5,5,5,5,5,5,5,5,5,5, -5,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0,92,92,92,92, -92,5,5,92,92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,105, -0,0,0,0,0,0,0,0,92,92,92,92,5,5,92,92,92,92,92,92, -92,92,92,92,92,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0, -92,92,92,5,5,5,92,92,92,92,92,92,92,92,92,92,5,5,5,5, -5,5,5,105,0,0,0,0,0,0,0,0,92,92,5,5,5,5,5,92, -92,92,92,92,92,92,92,5,5,5,5,5,5,5,5,105,0,0,0,0, -0,0,0,0,92,5,5,5,5,5,5,5,92,92,92,92,92,92,5,5, -5,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0,92,105,105,105, -105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105, -0,0,0,0,}; - -static const unsigned char small_icon_8_data[] = { -92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92, -92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, -92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,5,92,105, -92,92,92,92,92,92,92,92,92,92,92,92,5,5,92,105,92,92,92,92, -92,92,92,92,92,92,92,5,5,5,92,105,92,92,92,92,92,92,92,92, -92,92,5,5,5,5,92,105,92,92,92,92,92,92,92,92,92,5,92,5, -5,5,92,105,92,105,105,105,92,92,92,92,5,92,92,5,105,105,92,105, -92,105,0,0,92,92,92,5,92,92,92,5,0,0,105,105,0,0,92,92, -92,92,5,92,92,92,92,5,5,5,0,0,0,0,92,92,92,5,5,5, -5,5,5,5,5,5,0,0,0,0,92,92,5,92,92,92,92,92,92,5, -5,5,0,0,0,0,92,5,5,92,92,92,92,92,5,5,5,5,0,0, -0,0,5,5,5,5,105,105,105,5,5,5,5,5,0,0,}; - -static const unsigned char icon_4_data[] = { -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,69,69,69, -69,69,69,69,69,69,69,69,69,69,69,69,84,84,84,84,84,84,84,84, -84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69,69,69,69,69, -69,69,69,69,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85, -69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,84,84,84,84, -84,84,84,84,84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69, -69,69,69,69,69,69,69,69,84,84,84,84,84,84,84,84,84,84,84,84, -84,84,84,85,69,69,69,69,69,69,69,69,69,69,69,69,69,21,69,69, -84,84,84,84,84,84,84,84,84,84,84,84,81,20,84,85,69,69,69,69, -69,69,69,69,69,69,69,69,17,21,69,69,84,84,84,84,84,84,84,84, -84,84,84,81,17,20,84,85,69,69,69,69,69,69,69,69,69,69,69,17, -17,21,69,69,84,84,84,84,84,84,84,84,84,84,81,17,17,20,84,85, -69,69,69,69,69,69,69,69,69,69,17,17,17,21,69,69,84,84,84,84, -84,84,84,84,84,81,17,17,17,20,84,85,69,69,69,69,69,69,69,69, -69,17,65,17,17,21,69,69,84,85,85,85,84,84,84,84,81,20,81,21, -85,85,84,85,69,69,0,0,69,69,69,69,17,69,65,21,0,0,69,69, -85,85,0,0,84,84,84,81,20,84,81,21,0,0,85,85,0,0,0,0, -69,69,69,17,69,69,65,21,0,0,0,0,0,0,0,0,84,84,81,20, -84,84,81,21,0,0,0,0,0,0,69,69,69,69,17,69,69,69,65,17, -17,30,0,0,0,0,84,84,84,81,17,17,17,17,17,17,17,21,0,0, -0,0,69,69,69,17,17,17,17,17,17,17,17,21,0,0,0,0,84,84, -81,20,84,84,84,84,81,17,17,21,0,0,0,0,69,69,17,69,69,69, -69,69,65,17,17,21,0,0,0,0,84,81,17,84,84,84,84,84,17,17, -17,21,0,0,0,0,69,17,17,21,69,69,69,65,17,17,17,21,0,0, -0,0,81,17,17,17,84,84,84,17,17,17,17,21,0,0,0,0,229,85, -85,85,85,85,85,85,85,85,85,85,0,0,}; - -static const unsigned char small_icon_4_data[] = { -84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69,84,84,84,84, -84,84,84,85,69,69,69,69,69,69,69,69,84,84,84,84,84,84,81,85, -69,69,69,69,69,69,17,69,84,84,84,84,84,81,17,85,69,69,69,69, -69,17,17,69,84,84,84,84,81,81,17,85,69,85,69,69,21,65,85,69, -85,0,84,81,84,81,0,85,0,69,69,21,69,65,17,0,0,84,81,17, -17,17,17,0,0,69,21,69,69,65,17,0,0,81,20,84,84,17,17,0, -0,17,17,85,81,17,17,0,}; - - -/* fseek with fatal_error */ - -static void -reposition(FILE *fi, int32_t absolute) -{ - if (fseek(fi, absolute, 0) == -1) - fatal_error("can't seek to position %d", absolute); -} - -/* Some functions to write one, two, three, and four byte integers in 68000 - byte order (most significant byte first). */ - -static void -write_one(int c, FILE *f) -{ - putc(c, f); -} - -static void -write_two(int c, FILE *f) -{ - putc((c >> 8) & 255, f); - putc(c & 255, f); -} - -static void -write_three(int32_t c, FILE *f) -{ - putc((c >> 16) & 255, f); - putc((c >> 8) & 255, f); - putc(c & 255, f); -} - -static void -write_four(int32_t c, FILE *f) -{ - putc((c >> 24) & 255, f); - putc((c >> 16) & 255, f); - putc((c >> 8) & 255, f); - putc(c & 255, f); -} - -/* Some functions to store one, two, three, and four byte integers in 68000 - byte order (most significant byte first). */ - -static void -store_one(int c, char *s) -{ - s[0] = (char)(c & 255); -} - -static void -store_two(int c, char *s) -{ - s[0] = (char)((c >> 8) & 255); - s[1] = (char)(c & 255); -} - -static void -store_four(int32_t c, char *s) -{ - s[0] = (char)((c >> 24) & 255); - s[1] = (char)((c >> 16) & 255); - s[2] = (char)((c >> 8) & 255); - s[3] = (char)(c & 255); -} - -static void -output_new_rsrc(const char *rtype, int rid, int attrs, - const char *data, uint32_t len) -{ - Rsrc *r; - if (nrsrc >= rsrc_cap) { - rsrc_cap = (rsrc_cap ? rsrc_cap * 2 : 256); - r = (Rsrc *)malloc(sizeof(Rsrc) * rsrc_cap); - if (!r) - fatal_error("out of memory"); - memcpy(r, rsrc, sizeof(Rsrc) * nrsrc); - free(rsrc); - rsrc = r; - } - r = &rsrc[nrsrc]; - nrsrc++; - - /* prepare resource record */ - { - const unsigned char *b = (const unsigned char *)rtype; - r->type = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]; - } - r->id = rid; - r->attrs = attrs; - if (nrsrc == 1) - r->data_offset = 0; - else - r->data_offset = rsrc[nrsrc-2].data_offset + rsrc[nrsrc-2].data_len + 4; - r->data_len = len; - r->next_in_type = r->next_type = -2; - - /* resource consists of length, then data */ - write_four(r->data_len, rfork_f); - fwrite(data, 1, len, rfork_f); -} - -static void -init_current_post(void) -{ - rbufpos = 2; - cur_post_id = 501; - blocktyp = POST_ASCII; -} - -static void -output_current_post(void) -{ - if (blocktyp != POST_END && rbufpos <= 2) - return; - rbuf[0] = blocktyp; - rbuf[1] = 0; - output_new_rsrc("POST", cur_post_id, 0, (char *)rbuf, rbufpos); - rbufpos = 2; - cur_post_id++; -} - -/* font_reader functions */ - -static void -t1mac_output_data(byte *s, int len) -{ - while (len > 0) { - int n; - /* In some Mac fonts, the ASCII sections terminate with a line-end */ - if (rbufpos >= MAX_RSRC_LEN - || (blocktyp == POST_ASCII && len + rbufpos > MAX_RSRC_LEN && rbufpos)) - output_current_post(); - n = (len + rbufpos <= MAX_RSRC_LEN ? len : MAX_RSRC_LEN - rbufpos); - memcpy(rbuf + rbufpos, s, n); - rbufpos += n; - s += n; - len -= n; - } -} - -static void -t1mac_output_ascii(char *s, int len) -{ - if (blocktyp == POST_BINARY) { - output_current_post(); - blocktyp = POST_ASCII; - } - /* Mac line endings */ - if (len > 0 && s[len-1] == '\n') - s[len-1] = '\r'; - t1mac_output_data((byte *)s, len); - if (strncmp(s, "/FontName", 9) == 0) { - for (s += 9; isspace(*s); s++) ; - if (*s == '/') { - const char *t = ++s; - while (*t && !isspace(*t)) t++; - free(font_name); - font_name = (char *)malloc(t - s + 1); - memcpy(font_name, s, t - s); - font_name[t - s] = 0; - } - } -} - -static void -t1mac_output_binary(unsigned char *s, int len) -{ - if (blocktyp == POST_ASCII) { - output_current_post(); - blocktyp = POST_BINARY; - } - t1mac_output_data(s, len); -} - -static void -t1mac_output_end(void) -{ - output_current_post(); - blocktyp = POST_END; - output_current_post(); -} - - -/* finish off the resource fork */ - -static uint32_t -complete_rfork(void) -{ - uint32_t reflist_offset, total_data_len; - uint32_t typelist_len; - int i, j, ntypes; - - /* analyze resources */ - { - int last_type = -1; - ntypes = 0; - for (i = 0; i < nrsrc; i++) - if (rsrc[i].next_in_type == -2) { - int last = -1; - if (last_type >= 0) - rsrc[last_type].next_type = i; - for (j = i; j < nrsrc; j++) - if (rsrc[j].type == rsrc[i].type) { - if (last >= 0) - rsrc[last].next_in_type = j; - last = j; - } - rsrc[last].next_in_type = -1; - last_type = i; - ntypes++; - } - } - - /* have just finished writing data */ - /* now write resource map */ - for (i = 0; i < RFORK_MAP_RESERVEDLEN; i++) - putc(0, rfork_f); /* reserved */ - write_two(0, rfork_f); /* resource fork attributes */ - typelist_len = ntypes * RFORK_RTYPE_LEN + 2; - write_two(RFORK_MAP_HEADERLEN, rfork_f); /* offset from start of map to typelist */ - write_two(RFORK_MAP_HEADERLEN + typelist_len + nrsrc * RFORK_RSRC_LEN, rfork_f); /* offset from start of map to namelist */ - - /* output type map */ - write_two(ntypes - 1, rfork_f);/* number of types - 1 */ - reflist_offset = typelist_len; - for (i = 0; i >= 0; i = rsrc[i].next_type) { - int n_in_type = 0; - for (j = i; j >= 0; j = rsrc[j].next_in_type) - n_in_type++; - write_four(rsrc[i].type, rfork_f); /* resource type */ - write_two(n_in_type - 1, rfork_f); /* number in type - 1 */ - write_two(reflist_offset, rfork_f); /* offset to reflist from start of typelist */ - reflist_offset += n_in_type * RFORK_RSRC_LEN; - } - - /* output reference list */ - for (i = 0; i >= 0; i = rsrc[i].next_type) - for (j = i; j >= 0; j = rsrc[j].next_in_type) { - write_two(rsrc[j].id, rfork_f); /* ID */ - write_two(-1, rfork_f); /* offset to name */ - write_one(rsrc[j].attrs, rfork_f); /* attributes */ - write_three(rsrc[j].data_offset, rfork_f); /* offset to data from start of data */ - write_four(0, rfork_f); /* reserved */ - } - - /* finally, patch up resource fork header */ - { - total_data_len = rsrc[nrsrc-1].data_offset + rsrc[nrsrc-1].data_len + 4; - reposition(rfork_f, 0); - write_four(RFORK_HEADERLEN, rfork_f); /* offset from rfork to data */ - write_four(RFORK_HEADERLEN + total_data_len, rfork_f); /* offset from rfork to map */ - write_four(total_data_len, rfork_f); /* length of data */ - write_four(RFORK_MAP_HEADERLEN + reflist_offset, rfork_f); /* length of map */ - } - - return RFORK_HEADERLEN + total_data_len + RFORK_MAP_HEADERLEN + reflist_offset; -} - - -/* write a MacBinary II file */ - -static void -output_raw(FILE *rf, int32_t len, FILE *f) -{ - char buf[2048]; - reposition(rf, 0); - while (len > 0) { - int n = (len < 2048 ? len : 2048); - fread(buf, 1, n, rf); - fwrite(buf, 1, n, f); - len -= n; - } -} - -static void -output_macbinary(FILE *rf, int32_t rf_len, const char *filename, FILE *f) -{ - int i, len = strlen(filename); - char buf[128]; - if (len < 1 || len > 63) - fatal_error("filename length must be between 1 and 63"); - store_one(0, buf+0); /* old version number */ - store_one(len, buf+1); /* filename length */ - memset(buf+2, 0, 63); /* filename padding */ - memcpy(buf+2, filename, len); /* filename */ - store_four(T1_FILETYPE, buf+65); /* file type */ - store_four(T1_FILECREATOR, buf+69); /* file creator */ - store_one(T1_FINDERFLAGS, buf+73); /* finder flags */ - store_one(0, buf+74); /* zero byte */ - store_two(0, buf+75); /* vertical position in window */ - store_two(0, buf+77); /* horizontal position in window */ - store_two(0, buf+79); /* window or folder ID */ - store_one(0, buf+81); /* protected flag */ - store_one(0, buf+82); /* zero byte */ - store_four(0, buf+83); /* data fork length */ - store_four(rf_len, buf+87); /* resource fork length */ - { - time_t t = time(0) + MAC_TIME_DELTA; - store_four(t, buf+91); /* creation date */ - store_four(t, buf+95); /* modification date */ - } - store_two(0, buf+99); /* GetInfo comment length */ - store_one(0, buf+101); /* finder flags part 2 */ - memset(buf+102, 0, 116 - 102); /* padding */ - store_four(0, buf+116); /* total length when unpacked */ - store_two(0, buf+120); /* length of secondary header */ - store_one(129, buf+122); /* version number */ - store_one(129, buf+123); /* minimum acceptable version number */ - store_two(crcbuf(0, 124, buf), buf+124); /* CRC */ - store_two(0, buf+126); /* padding to 128 bytes */ - - /* write out the header */ - fwrite(buf, 1, 128, f); - - /* now write resource fork */ - output_raw(rf, rf_len, f); - for (i = rf_len % 128; i && i < 128; i++) - putc(0, f); -} - - -/* write an AppleSingle file */ - -#define APPLESINGLE_MAGIC 0x00051600 -#define APPLEDOUBLE_MAGIC 0x00051607 -#define APPLESINGLE_VERSION 0x00020000 -#define APPLESINGLE_TIME_DELTA 883612800 -#define APPLESINGLE_HEADERLEN 26 -#define APPLESINGLE_ENTRYLEN 12 -#define APPLESINGLE_DFORK_ENTRY 1 -#define APPLESINGLE_RFORK_ENTRY 2 -#define APPLESINGLE_DATES_ENTRY 8 -#define APPLESINGLE_DATES_LEN 16 -#define APPLESINGLE_FINDERINFO_ENTRY 9 -#define APPLESINGLE_FINDERINFO_LEN 32 -#define APPLESINGLE_REALNAME_ENTRY 3 - -static void -output_applesingle(FILE *rf, int32_t rf_len, const char *filename, FILE *f, - int appledouble) -{ - uint32_t offset; - int i, nentries, len = strlen(filename); - if (appledouble) /* magic number */ - write_four(APPLEDOUBLE_MAGIC, f); - else - write_four(APPLESINGLE_MAGIC, f); - write_four(APPLESINGLE_VERSION, f); /* version number */ - for (i = 0; i < 4; i++) - write_four(0, f); /* filler */ - nentries = (appledouble ? 4 : 5); - write_two(nentries, f); /* number of entries */ - - /* real name entry */ - offset = APPLESINGLE_HEADERLEN + nentries * APPLESINGLE_ENTRYLEN; - write_four(APPLESINGLE_REALNAME_ENTRY, f); - write_four(offset, f); - write_four(len, f); - offset += len; - - /* time entry */ - write_four(APPLESINGLE_DATES_ENTRY, f); - write_four(offset, f); - write_four(APPLESINGLE_DATES_LEN, f); - offset += APPLESINGLE_DATES_LEN; - - /* finder info entry */ - write_four(APPLESINGLE_FINDERINFO_ENTRY, f); - write_four(offset, f); - write_four(APPLESINGLE_FINDERINFO_LEN, f); - offset += APPLESINGLE_FINDERINFO_LEN; - - /* resource fork entry */ - write_four(APPLESINGLE_RFORK_ENTRY, f); - write_four(offset, f); - write_four(rf_len, f); - offset += rf_len; - - /* data fork entry */ - if (!appledouble) { - write_four(APPLESINGLE_DFORK_ENTRY, f); - write_four(offset, f); - write_four(0, f); - } - - /* real name data */ - fwrite(filename, 1, len, f); - - /* time data */ - i = time(0) - APPLESINGLE_TIME_DELTA; - write_four(i, f); /* creation date */ - write_four(i, f); /* modification date */ - write_four(0x80000000, f); /* backup date */ - write_four(0, f); /* access date */ - - /* finder info data */ - write_four(T1_FILETYPE, f); /* file type */ - write_four(T1_FILECREATOR, f); /* file creator */ - write_one(T1_FINDERFLAGS, f); /* finder flags */ - write_one(0, f); /* extended finder flags */ - write_two(0, f); /* vertical position in window */ - write_two(0, f); /* horizontal position in window */ - write_two(0, f); /* window or folder ID */ - write_four(0, f); /* icon ID and reserved */ - write_four(0, f); /* reserved */ - write_one(0, f); /* script flag */ - write_one(0, f); /* reserved */ - write_two(0, f); /* comment ID */ - write_four(0, f); /* put away */ - - /* resource fork data */ - output_raw(rf, rf_len, f); -} - - -/* write a BinHex file */ - -static void -binhex_buffer(const byte *s, int len, FILE *f) -{ - static int col = 1; - static int bits = 0; - static int bitspos = 2; - static const char *table = "!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr"; - byte buf[5]; - int c, i, left; - - if (!s && bitspos > 2) { /* output the remaining bits */ - s = (const byte *)"\0"; - len = 1; - } - - for (left = len; left > 0; left--, s++) { - int pos; - if (s[0] == 0x90) { - buf[0] = 0x90; - buf[1] = 0x00; - pos = 2; - } else { - buf[0] = s[0]; - pos = 1; - } - - /* find a run */ - if (left > 2 && s[0] == s[1] && s[0] == s[2]) { - for (i = 3; i < left && i < 255; i++) - if (s[i] != s[0]) - break; - buf[pos] = 0x90; - buf[pos+1] = i; - pos += 2; - s += i - 1; - left -= i - 1; - } - - /* store those characters */ - for (i = 0; i < pos; i++) { - bits |= buf[i]; - while (bitspos >= 0) { - c = (bits >> bitspos) & 0x3F; - putc(table[c], f); - if (++col == 63) { - putc('\n', f); - col = 0; - } - bitspos -= 6; - } - bits <<= 8; - bitspos += 8; - } - } -} - -static void -output_binhex(FILE *rf, int32_t rf_len, const char *filename, FILE *f) -{ - int crc, len = strlen(filename); - char buf[2048]; - - if (len < 1 || len > 63) - fatal_error("filename length must be between 1 and 63"); - store_one(len, buf+0); /* filename length */ - memcpy(buf+1, filename, len); /* filename */ - store_one(0, buf+1+len); /* version */ - store_four(T1_FILETYPE, buf+2+len); /* file type */ - store_four(T1_FILECREATOR, buf+6+len); /* file creator */ - store_one(T1_FINDERFLAGS, buf+10+len); /* finder flags */ - store_one(0, buf+11+len); /* extended finder flags */ - store_four(0, buf+12+len); /* length of data fork */ - store_four(rf_len, buf+16+len); /* length of resource fork */ - store_two(crcbuf(0, 20+len, buf), buf+20+len); /* CRC */ - store_two(0, buf+22+len); /* data fork CRC */ - - /* output BinHex comment */ - fputs("(This file must be converted with BinHex 4.0)\n:", f); - - /* BinHex the header */ - binhex_buffer((const byte *)buf, 24+len, f); - - /* resource fork data */ - reposition(rf, 0); - crc = 0; - while (rf_len > 0) { - int n = (rf_len < 2048 ? rf_len : 2048); - fread(buf, 1, n, rf); - crc = crcbuf(crc, n, buf); /* update CRC */ - binhex_buffer((const byte *)buf, n, f); - rf_len -= n; - } - store_two(crc, buf); /* resource fork CRC */ - binhex_buffer((const byte *)buf, 2, f); - binhex_buffer(0, 0, f); /* get rid of any remaining bits */ - fputs(":\n", f); /* trailer */ -} - - -/***** - * command line - **/ - -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 -#define MACBINARY_OPT 304 -#define RAW_OPT 305 -#define APPLESINGLE_OPT 306 -#define APPLEDOUBLE_OPT 307 -#define BINHEX_OPT 308 -#define FILENAME_OPT 309 - -static Clp_Option options[] = { - { "appledouble", 0, APPLEDOUBLE_OPT, 0, 0 }, - { "applesingle", 0, APPLESINGLE_OPT, 0, 0 }, - { "binhex", 0, BINHEX_OPT, 0, 0 }, - { "help", 0, HELP_OPT, 0, 0 }, - { "macbinary", 0, MACBINARY_OPT, 0, 0 }, - { "filename", 'n', FILENAME_OPT, Clp_ArgString, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "raw", 'r', RAW_OPT, 0, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; -static const char *program_name; - - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); -} - - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - - -void -usage(void) -{ - printf("\ -`T1mac' translates a PostScript Type 1 font from PFA or PFB format into\n\ -Macintosh Type 1 format. The result can be written in MacBinary II format (the\n\ -default), AppleSingle format, AppleDouble format, or BinHex format, or as a\n\ -raw resource fork. It is sent to the standard output unless an OUTPUT file is\n\ -given.\n\ -\n\ -Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ -\n\ -Options:\n\ - -r, --raw Output is a raw Macintosh resource fork.\n\ - --macbinary Output is in MacBinary format (default).\n\ - --applesingle Output is in AppleSingle format.\n\ - --appledouble Output is in AppleDouble format.\n\ - --binhex Output is in BinHex format.\n\ - -n, --filename NAME Macintosh font filename will be NAME.\n\ - -o, --output FILE Write output to FILE.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - -#ifdef __cplusplus -} -#endif - - -int -main(int argc, char *argv[]) -{ - int i, c; - FILE *ifp = 0, *ofp = 0; - const char *ifp_filename = ""; - const char *ofp_filename = ""; - const char *set_font_name = 0; - struct font_reader fr; - uint32_t rfork_len; - int raw = 0, macbinary = 1, applesingle = 0, appledouble = 0, binhex = 0; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case RAW_OPT: - raw = 1; - macbinary = applesingle = appledouble = binhex = 0; - break; - - case MACBINARY_OPT: - macbinary = 1; - raw = applesingle = appledouble = binhex = 0; - break; - - case APPLESINGLE_OPT: - applesingle = 1; - raw = macbinary = appledouble = binhex = 0; - break; - - case APPLEDOUBLE_OPT: - appledouble = 1; - raw = macbinary = applesingle = binhex = 0; - break; - - case BINHEX_OPT: - binhex = 1; - raw = macbinary = applesingle = appledouble = 0; - break; - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else { - ofp_filename = clp->arg; - ofp = fopen(ofp_filename, "wb"); - if (!ofp) fatal_error("%s: %s", ofp_filename, strerror(errno)); - } - break; - - case FILENAME_OPT: - if (set_font_name) - fatal_error("Macintosh font filename already specified"); - set_font_name = clp->arg; - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1mac (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 2000-2003 Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) - ifp = stdin; - else { - ifp_filename = clp->arg; - ifp = fopen(clp->arg, "r"); - if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!ifp) ifp = stdin; - if (!ofp) ofp = stdout; - -#if defined(_MSDOS) || defined(_WIN32) - /* As we are processing a PFB (binary) output */ - /* file, we must set its file mode to binary. */ - _setmode(_fileno(ofp), _O_BINARY); -#endif - - /* prepare font reader */ - fr.output_ascii = t1mac_output_ascii; - fr.output_binary = t1mac_output_binary; - fr.output_end = t1mac_output_end; - - /* prepare resource fork file */ - rfork_f = tmpfile(); - if (!rfork_f) - fatal_error("cannot open temorary file: %s", strerror(errno)); - for (i = 0; i < RFORK_HEADERLEN; i++) - putc(0, rfork_f); - init_current_post(); - - /* peek at first byte to see if it is the PFB marker 0x80 */ - c = getc(ifp); - ungetc(c, ifp); - - /* do the file */ - if (c == PFB_MARKER) - process_pfb(ifp, ifp_filename, &fr); - else if (c == '%') - process_pfa(ifp, ifp_filename, &fr); - else - fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); - if (ifp != stdin) - fclose(ifp); - - /* check if anything was read */ - if (nrsrc == 0) - error("no POST resources written -- are you sure this was a font?"); - - /* output large B/W icon */ - output_new_rsrc("ICN#", 256, 32, (const char *)icon_bw_data, 256); - /* output FREF */ - output_new_rsrc("FREF", 256, 32, "LWFN\0\0\0", 7); - /* output BNDL */ - output_new_rsrc("BNDL", 256, 32, "T1UT\0\0\0\1FREF\0\0\0\0\1\0ICN#\0\0\0\0\1\0", 28); - /* output other icons */ - output_new_rsrc("icl8", 256, 32, (const char *)icon_8_data, 1024); - output_new_rsrc("icl4", 256, 32, (const char *)icon_4_data, 512); - output_new_rsrc("ics#", 256, 32, (const char *)small_icon_bw_data, 64); - output_new_rsrc("ics8", 256, 32, (const char *)small_icon_8_data, 256); - output_new_rsrc("ics4", 256, 32, (const char *)small_icon_4_data, 128); - /* output T1UT (signature) */ - output_new_rsrc("T1UT", 0, 0, "DConverted by t1mac (t1utils) \251Eddie Kohler http://www.lcdf.org/type/", 69); - - /* finish off resource file */ - rfork_len = complete_rfork(); - - /* prepare font name */ - if (!set_font_name && font_name) { - int part = 0, len = 0; - char *x, *s; - for (x = s = font_name; *s; s++) - if (isupper(*s) || isdigit(*s)) { - *x++ = *s; - part++; - len = 1; - } else if (islower(*s)) { - if (len < (part <= 1 ? 5 : 3)) - *x++ = *s; - len++; - } - *x++ = 0; - set_font_name = font_name; - } else if (!set_font_name) - set_font_name = "Unknown Font"; - - /* now, output the file */ - if (macbinary) - output_macbinary(rfork_f, rfork_len, set_font_name, ofp); - else if (raw) - output_raw(rfork_f, rfork_len, ofp); - else if (applesingle || appledouble) - output_applesingle(rfork_f, rfork_len, set_font_name, ofp, appledouble); - else if (binhex) - output_binhex(rfork_f, rfork_len, set_font_name, ofp); - else - fatal_error("strange output format"); - fclose(rfork_f); - - if (ofp != stdout) - fclose(ofp); - return 0; -} diff --git a/Build/source/utils/t1utils/t1unmac.1 b/Build/source/utils/t1utils/t1unmac.1 deleted file mode 100644 index 033530d9767..00000000000 --- a/Build/source/utils/t1utils/t1unmac.1 +++ /dev/null @@ -1,79 +0,0 @@ -.ds V 1.34 -.de M -.BR "\\$1" "(\\$2)\\$3" -.. -.TH T1UNMAC 1 "" "Version \*V" -.SH NAME -t1unmac \- translate a Mac PostScript Type 1 font into PFA or PFB format -.SH SYNOPSIS -.B t1unmac -\%[\fB\-a\fR|\fB\-b\fR] -\%[\fB\-r\fR] -\%[\fIinput\fR [\fIoutput\fR]] -.SH DESCRIPTION -.B t1unmac -extracts POST resources from a Macintosh PostScript font file and creates a -PFA (hexadecimal) or PFB (binary) font file. The file -.I input -should be in MacBinary I or II, AppleSingle, AppleDouble, or BinHex format, -or it can be a raw resource fork. If the file is a raw resource fork, you -need to give the `\-\-raw' option; otherwise -.B t1unmac -should automatically figure out what kind of file you have. If the file -.I output -is not specified output goes to the standard output. -.SH OPTIONS -.TP 5 -.BR \-\-pfa ", " \-a -Output in PFA (ASCII) format. -.TP 5 -.BR \-\-pfb ", " \-b -Output in PFB (binary) format. This is the default. -.TP 5 -.BR \-\-raw ", " \-r -Indicates that the input is a raw resource fork. -.TP 5 -.BR \-\-macbinary -Indicates that the input is in MacBinary I or II format. -.TP 5 -.BR \-\-applesingle -Indicates that the input is in AppleSingle format. -.TP 5 -.BR \-\-appledouble -Indicates that the input is in AppleDouble format. -.TP 5 -.BR \-\-binhex -Indicates that the input is in BinHex 4.0 format. -.TP -.BI \-\-block\-length= "num\fR, " \-l " num" -PFB only: Set the maximum output block length to -.I num. -The default length is as large as memory allows. -.TP -.BI \-\-line\-length= "num\fR, " \-l " num" -PFA only: Set the maximum length of encrypted lines in the output to -.I num. -(These are the lines consisting wholly of hexadecimal digits.) The default -is 64. -.SH EXAMPLES -.LP -On Mac OS X, you can use -.B t1unmac -to translate a font into PFA or PFB format as follows: -.nf -% \fBt1unmac\fR --raw FONTFILENAME/..namedfork/rsrc > OUTPUT -.fi -.SH "SEE ALSO" -.LP -.M t1mac 1 , -.M t1ascii 1 , -.M t1binary 1 , -.M t1asm 1 , -.M t1disasm 1 -.SH AUTHORS -Lee Hetherington (ilh@lcs.mit.edu) -.br -Eddie Kohler (ekohler@gmail.com) -.PP -Ported to Microsoft C/C++ Compiler and MS-DOS operating system by -Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1unmac.c b/Build/source/utils/t1utils/t1unmac.c deleted file mode 100644 index a367abb729b..00000000000 --- a/Build/source/utils/t1utils/t1unmac.c +++ /dev/null @@ -1,918 +0,0 @@ -/* t1unmac/unpost - * - * This program converts Macintosh Type 1 fonts stored in MacBinary (I or II), - * AppleSingle, AppleDouble, BinHex, or raw resource fork format to PFA and - * PFB formats. - * - * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. - * - * Permission is hereby granted to use, modify, and distribute this program - * for any purpose provided this copyright notice and the one below remain - * intact. - * - * I. Lee Hetherington (ilh@lcs.mit.edu) - * - * 1.5 and later versions contain changes by, and are maintained by, - * Eddie Kohler . - * - * New change log in `NEWS'. Old change log: - * - * Revision 1.2 92/06/23 10:57:33 ilh - * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) - * incoporated. - * - * Revision 1.1 92/05/22 12:07:49 ilh - * initial version - * - * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by - * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code - * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS - * ... #endif, where _MSDOS is an identifier, which is automatically - * defined, if you compile with the Microsoft C/C++ Compiler. - * */ - -/* Note: this is ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#if defined(_MSDOS) || defined(_WIN32) -# include -# include -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include "t1lib.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Some functions to read one, two, three, and four byte integers in 68000 - byte order (most significant byte first). */ - -static int -read_one(FILE *fi) -{ - return getc(fi); -} - -static int -read_two(FILE *fi) -{ - int val; - - val = getc(fi); - val = (val << 8) | getc(fi); - - return val; -} - -static int32_t -read_three(FILE *fi) -{ - int32_t val; - - val = getc(fi); - val = (val << 8) | getc(fi); - val = (val << 8) | getc(fi); - - return val; -} - -static int32_t -read_four(FILE *fi) -{ - int32_t val; - - val = getc(fi); - val = (val << 8) | getc(fi); - val = (val << 8) | getc(fi); - val = (val << 8) | getc(fi); - - return val; -} - -/* reposition a file with error messages */ - -static void -reposition(FILE *fi, int32_t absolute) -{ - if (fseek(fi, absolute, 0) == -1) - fatal_error("can't seek to position %d\n\ - (The Mac file may be corrupted, or you may need the `-r' option.)", - absolute); -} - -static int blocklen = -1; - -static int hex_column = 0; /* current column of hex ASCII output */ - -static void -output_hex_byte(FILE *fo, int b) -{ - static const char *hex = "0123456789abcdef"; - - if (hex_column >= blocklen) { - putc('\n', fo); - hex_column = 0; - } - putc(hex[b >> 4], fo); - putc(hex[b & 0xf], fo); - hex_column += 2; -} - -/* Function to extract a particular POST resource. Offset points to the four - byte length which is followed by the data. The first byte of the POST data - specifies resource type: 1 for ASCII, 2 for binary, and 5 for end. The - second byte is always zero. */ - - -/* Function to write four byte length to PFB file: least significant byte - first. */ - -static int -extract_data(FILE *fi, FILE *fo, struct pfb_writer *w, int32_t offset, int pfb) -{ - enum PS_type { PS_ascii = 1, PS_binary = 2, PS_end = 5 }; - static int last_type = -1; - static int skip_newline = 0; - int32_t len; - int more = 1; - int i, c; - - reposition(fi, offset); - len = read_four(fi) - 2; /* subtract type field */ - - switch ((enum PS_type)read_one(fi)) { - - case PS_ascii: { - (void) read_one(fi); - if (last_type != PFB_ASCII && pfb) { - pfb_writer_output_block(w); - w->blocktyp = PFB_ASCII; - } - for (i = 0; i < len; i++) { - c = read_one(fi); - if (c == '\n' && skip_newline) { - skip_newline = 0; - continue; - } - if (c == '\r') { - c = '\n'; - skip_newline = 1; - } else - skip_newline = 0; - if (pfb) - PFB_OUTPUT_BYTE(w, c); - else - putc(c, fo); - } - last_type = PFB_ASCII; - break; - } - - case PS_binary: { - (void) read_one(fi); - if (last_type != PFB_BINARY && pfb) { - pfb_writer_output_block(w); - w->blocktyp = PFB_BINARY; - } else if (last_type != PFB_BINARY) - hex_column = 0; - if (pfb) { - while (len--) - PFB_OUTPUT_BYTE(w, read_one(fi)); - } else { - while (len--) - output_hex_byte(fo, read_one(fi)); - } - last_type = PFB_BINARY; - break; - } - - case PS_end: - more = 0; - break; - - } - - return more; -} - - -/***** - * Command line - **/ - -#define OUTPUT_OPT 301 -#define VERSION_OPT 302 -#define HELP_OPT 303 -#define PFB_OPT 304 -#define PFA_OPT 305 -#define MACBINARY_OPT 306 -#define RAW_OPT 307 -#define LINE_LEN_OPT 308 -#define APPLEDOUBLE_OPT 309 -#define BINHEX_OPT 310 - -static Clp_Option options[] = { - { "applesingle", 0, APPLEDOUBLE_OPT, 0, 0 }, - { "appledouble", 0, APPLEDOUBLE_OPT, 0, 0 }, - { "binhex", 0, BINHEX_OPT, 0, 0 }, - { "block-length", 0, LINE_LEN_OPT, Clp_ArgUnsigned, 0 }, - { "help", 0, HELP_OPT, 0, 0 }, - { "line-length", 'l', LINE_LEN_OPT, Clp_ArgUnsigned, 0 }, - { "macbinary", 0, MACBINARY_OPT, 0, 0 }, - { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, - { "pfa", 'a', PFA_OPT, 0, 0 }, - { "pfb", 'b', PFB_OPT, 0, 0 }, - { "raw", 'r', RAW_OPT, 0, 0 }, - { "version", 0, VERSION_OPT, 0, 0 }, -}; -static const char *program_name; - -void -fatal_error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); - exit(1); -} - -void -error(const char *message, ...) -{ - va_list val; - va_start(val, message); - fprintf(stderr, "%s: ", program_name); - vfprintf(stderr, message, val); - putc('\n', stderr); -} - -void -short_usage(void) -{ - fprintf(stderr, "Usage: %s [OPTION]... INPUT [OUTPUT]\n\ -Try `%s --help' for more information.\n", - program_name, program_name); -} - -void -usage(void) -{ - printf("\ -`T1unmac' extracts a PostScript Type 1 font from a Macintosh font file. It can\n\ -read MacBinary, AppleSingle, AppleDouble, or BinHex files, or raw Macintosh\n\ -resource forks. The result is written to the standard output unless an OUTPUT\n\ -file is given.\n\ -\n\ -Usage: %s [OPTION]... INPUT [OUTPUT]\n\ -\n\ -Options:\n\ - -r, --raw Input is a raw Macintosh resource fork.\n\ - --macbinary Input is in MacBinary format.\n\ - --applesingle Input is in AppleSingle format.\n\ - --appledouble Input is in AppleDouble format.\n\ - --binhex Input is in BinHex format.\n\ - -a, --pfa Output font in ASCII (PFA) format.\n\ - -b, --pfb Output font in binary (PFB) format. This is\n\ - the default.\n\ - -l, --block-length NUM Set max block length for PFB output.\n\ - -l, --line-length NUM Set max encrypted line length for PFA output.\n\ - -o, --output FILE Write output to FILE.\n\ - -h, --help Print this message and exit.\n\ - --version Print version number and warranty and exit.\n\ -\n\ -Report bugs to .\n", program_name); -} - - -static const char * -check_macbinary(FILE *ifp) -{ - int i, j; - char buf[124]; - - /* check "version" bytes at offsets 0 and 74 */ - reposition(ifp, 0); - if (read_one(ifp) != 0) - return "bad version byte"; - reposition(ifp, 74); - if (read_one(ifp) != 0) - return "bad version byte"; - -#if 0 - /* write out bullshit */ - {int t; - reposition(ifp, 65); - t = read_four(ifp); - fprintf(stderr, "Type %c%c%c%c\n", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255); - t = read_four(ifp); - fprintf(stderr, "Creator %c%c%c%c\n", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255); - t = read_one(ifp); - fprintf(stderr, "Finder flags 1 %02x\n", t); - read_one(ifp); - t = read_two(ifp); - fprintf(stderr, "horizpos %04x\n", t); - t = read_two(ifp); - fprintf(stderr, "vertpos %04x\n", t); - t = read_two(ifp); - fprintf(stderr, "folder id %d\n", t); - t = read_one(ifp); - fprintf(stderr, "protected? %x\n", t); - t = read_one(ifp); - t = read_four(ifp); - fprintf(stderr, "data len %d\n", t); - t = read_four(ifp); - fprintf(stderr, "rsrc len %d\n", t); - t = read_four(ifp); - { - struct tm *crap; - fprintf(stderr, "creation date %x\n", t); - t -= 2082844800; - fprintf(stderr, " %s\n", ctime(&t)); - t = read_four(ifp); - fprintf(stderr, "modification date %x\n", t); - t -= 2082844800; - fprintf(stderr, " %s\n", ctime(&t)); - t = read_two(ifp); - } - fprintf(stderr, "getinfo len %d\n", t); - t = read_one(ifp); - fprintf(stderr, "finderflags 2 %02x\n", t); - reposition(ifp, 116); - t = read_four(ifp); - fprintf(stderr, "total len %d\n", t); - t = read_two(ifp); - fprintf(stderr, "secondary header len %d\n", t); - t = read_one(ifp); - fprintf(stderr, "version %d\n", t); - t = read_one(ifp); - fprintf(stderr, "version %d\n", t); - } -#endif - - /* check file length */ - reposition(ifp, 1); - i = read_one(ifp); - if (i > 63) - return "bad length"; - reposition(ifp, 83); - i = read_four(ifp); - j = read_four(ifp); - if (i < 0 || j < 0 || i >= 0x800000 || j >= 0x800000) - return "bad length"; - - /* check CRC */ - reposition(ifp, 0); - fread(buf, 1, 124, ifp); - if (crcbuf(0, 124, buf) != read_two(ifp)) { - reposition(ifp, 82); - if (read_one(ifp) != 0) - return "bad checksum"; - } - - return 0; -} - -#define APPLESINGLE_MAGIC 0x00051600 -#define APPLEDOUBLE_MAGIC 0x00051607 - -const char * -check_appledouble(FILE *ifp) -{ - int i; - reposition(ifp, 0); - i = read_four(ifp); - if (i != APPLEDOUBLE_MAGIC && i != APPLESINGLE_MAGIC) - return "bad magic number"; - - return 0; -} - -const char * -translate_binhex(FILE *f, FILE *tmpf) -{ - int i, c = 0, last_char, after_x90, bits, bitpos; - unsigned char value_table[256]; - - /* prepare value table */ - { - const char *table = "!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr"; - for (i = 0; i < 256; i++) - value_table[i] = 255; - for (i = 0; *table; i++, table++) - value_table[(unsigned char)*table] = i; - } - - /* skip to comment */ - { - const char *comment = "(This file must be converted with BinHex"; - while (!feof(f)) { - const char *s; - for (s = comment; *s; s++) { - c = getc(f); - if (c != *s) - break; - } - /* skip to end of line */ - while (c >= 0 && c != '\n' && c != '\r') - c = getc(f); - /* stop if read comment */ - if (!*s) - goto found_comment; - } - /* failed */ - return "no comment"; - } - - found_comment: - /* skip spaces, look for ':' */ - for (c = ' '; isspace(c); c = getc(f)) ; - if (c != ':') - return "no file-start character"; - - /* found ':', process until you find another ':' */ - last_char = -1; - after_x90 = bits = 0; - bitpos = 10; - for (c = getc(f); c >= 0; c = getc(f)) - if (!isspace(c)) { - /* add 6 bits to bits */ - if (value_table[c] == 255) - break; - bits |= (value_table[c] << bitpos); - bitpos -= 6; - - /* output character(s) */ - if (bitpos <= 2) { - int d = bits >> 8; - bits = (bits << 8) & 0xFF00; - bitpos += 8; - if (after_x90) { - /* handle compression */ - if (d == 0) { - last_char = 0x90; - putc(0x90, tmpf); - } else - for (i = 1; i < d; i++) - putc(last_char, tmpf); - after_x90 = 0; - } else if (d == 0x90) - after_x90 = 1; - else { - last_char = d; - putc(d, tmpf); - } - } - } - - if (c < 0) - return "unexpected EOF"; - else if (c != ':') - return "bad character"; - - fflush(tmpf); - return 0; -} - -int -check_binhex_crc(FILE *f, int offset, int length) -{ - int crc = 0; - char buf[2048]; - reposition(f, offset); - while (length > 0) { - int n = (length < 2048 ? length : 2048); - fread(buf, 1, n, f); - crc = crcbuf(crc, n, buf); - length -= n; - } - return crc == 0; -} - -const char * -check_binhex(FILE *f) -{ - int fname_len, data_len, rsrc_len, off; - - /* check lengths */ - reposition(f, 0); - fname_len = read_one(f); - if (fname_len < 1 || fname_len > 63) - return "bad length"; - reposition(f, 1 + fname_len + 11); - data_len = read_four(f); - rsrc_len = read_four(f); - if (data_len < 0 || rsrc_len < 0 || data_len >= 0x800000 || rsrc_len >= 0x800000) - return "bad length"; - - /* check version */ - reposition(f, 1 + fname_len); - if (read_one(f) != 0) - return "bad version"; - - /* check CRC */ - off = 1 + fname_len + 21; - if (!check_binhex_crc(f, 0, off)) - return "bad header CRC"; - if (!check_binhex_crc(f, off, data_len + 2)) - return "bad data CRC"; - if (!check_binhex_crc(f, off + data_len + 2, rsrc_len + 2)) - return "bad resource fork CRC"; - - return 0; -} - -#ifdef __cplusplus -} -#endif - - -int -main(int argc, char *argv[]) -{ - FILE *ifp = 0; - FILE *ofp = 0; - struct pfb_writer w; - const char *ifp_name = ""; - int32_t res_offset, res_data_offset, res_map_offset, type_list_offset; - int32_t post_type; - int num_types, num_extracted = 0, pfb = 1; - int raw = 0, appledouble = 0, binhex = 0, macbinary = 0; - - Clp_Parser *clp = - Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); - program_name = Clp_ProgramName(clp); - - /* interpret command line arguments using CLP */ - while (1) { - int opt = Clp_Next(clp); - switch (opt) { - - case RAW_OPT: - raw = 1; - appledouble = binhex = macbinary = 0; - break; - - case MACBINARY_OPT: - macbinary = 1; - raw = appledouble = binhex = 0; - break; - - case APPLEDOUBLE_OPT: - appledouble = 1; - raw = binhex = macbinary = 0; - break; - - case BINHEX_OPT: - binhex = 1; - raw = appledouble = macbinary = 0; - break; - - output_file: - case OUTPUT_OPT: - if (ofp) - fatal_error("output file already specified"); - if (strcmp(clp->arg, "-") == 0) - ofp = stdout; - else { - ofp = fopen(clp->arg, "w"); - if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case PFB_OPT: - pfb = 1; - break; - - case PFA_OPT: - pfb = 0; - break; - - case LINE_LEN_OPT: - blocklen = clp->val.i; - break; - - case HELP_OPT: - usage(); - exit(0); - break; - - case VERSION_OPT: - printf("t1unmac (LCDF t1utils) %s\n", VERSION); - printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ -This is free software; see the source for copying conditions.\n\ -There is NO warranty, not even for merchantability or fitness for a\n\ -particular purpose.\n"); - exit(0); - break; - - case Clp_NotOption: - if (ifp && ofp) - fatal_error("too many arguments"); - else if (ifp) - goto output_file; - if (strcmp(clp->arg, "-") == 0) - ifp = stdin; - else { - ifp_name = clp->arg; - ifp = fopen(clp->arg, "rb"); - if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); - } - break; - - case Clp_Done: - goto done; - - case Clp_BadOption: - short_usage(); - exit(1); - break; - - } - } - - done: - if (!ifp) ifp = stdin; - if (!ofp) ofp = stdout; - -#if defined(_MSDOS) || defined(_WIN32) - _setmode(_fileno(ifp), _O_BINARY); - /* If we are processing a PFB (binary) output */ - /* file, we must set its file mode to binary. */ - if (pfb) - _setmode(_fileno(ofp), _O_BINARY); -#endif - - if (pfb) - init_pfb_writer(&w, blocklen, ofp); - else { - if (blocklen == -1) - blocklen = 64; - else if (blocklen < 8) { - blocklen = 8; - error("warning: line length raised to %d", blocklen); - } else if (blocklen > 1024) { - blocklen = 1024; - error("warning: line length lowered to %d", blocklen); - } - } - - /* check for non-seekable input */ - if (fseek(ifp, 0, 0)) { - char buf[2048]; - FILE *tmp = tmpfile(); - if (!tmp) - fatal_error("cannot open temporary file: %s", strerror(errno)); - while (!feof(ifp)) { - int i = fread(buf, 1, 2048, ifp); - if (i > 0) - fwrite(buf, 1, i, tmp); - } - if (ferror(ifp)) - fatal_error("%s: %s", ifp_name, strerror(errno)); - reposition(tmp, 0); - fflush(tmp); - if (ifp != stdin) - fclose(ifp); - ifp = tmp; - } - - /* check for empty file */ - fseek(ifp, 0, 2); - if (ftell(ifp) == 0) - fatal_error("%s: empty file\n\ - (Try re-transferring the files using MacBinary format.)", - ifp_name); - - reposition(ifp, 0); - if (!raw && !appledouble && !binhex && !macbinary) { - /* check magic number, try to figure out what it is */ - int i, magic; - magic = read_four(ifp); - reposition(ifp, 0); - - if (magic == APPLESINGLE_MAGIC || magic == APPLEDOUBLE_MAGIC) - appledouble = 1; - else if ((magic & 0xFF000000) == 0) - macbinary = 1; - else { - binhex = 1; - for (i = 0; i < 4; i++, magic >>= 8) - if (!isprint(magic & 0xFF) && !isspace(magic & 0xFF)) - /* not an ASCII character, assume not BinHex */ - binhex = 0; - } - - if (!appledouble && !macbinary && !binhex) - fatal_error("%s: unknown file type", ifp_name); - } - - if (raw) { - /* raw resource file */ - res_offset = 0; - - } else if (macbinary) { /* MacBinary (I or II) file */ - const char *check; - int32_t data_fork_size; - - /* check integrity of file */ - check = check_macbinary(ifp); - if (check) - fatal_error("%s: not a MacBinary file (%s)", ifp_name, check); - - /* read data and resource fork sizes in MacBinary header */ - reposition(ifp, 83); - data_fork_size = read_four(ifp); - (void) read_four(ifp); - - /* round data_fork_size up to multiple of 128 */ - if (data_fork_size % 128) - data_fork_size += 128 - data_fork_size % 128; - - res_offset = 128 + data_fork_size; - - } else if (appledouble) { /* AppleDouble file */ - const char *check; - const char *applewhat; - int i, n; - - /* check integrity */ - check = check_appledouble(ifp); - if (check) - fatal_error("%s: not an AppleDouble file (%s)", ifp_name, check); - reposition(ifp, 0); - if (read_four(ifp) == APPLESINGLE_MAGIC) - applewhat = "AppleSingle"; - else - applewhat = "AppleDouble"; - - /* find offset to resource and/or data fork */ - reposition(ifp, 24); - n = read_two(ifp); - res_offset = -1; - for (i = 0; i < n; i++) { - int type = read_four(ifp); - if (type == 0) - fatal_error("%s: bad %s file (bad entry descriptor)", ifp_name, applewhat); - if (type == 2) /* resource fork entry */ - res_offset = read_four(ifp); - else - (void) read_four(ifp); - (void) read_four(ifp); - } - if (res_offset < 0) - fatal_error("%s: bad %s file (no resource fork)", ifp_name, applewhat); - - } else if (binhex) { /* BinHex file */ - const char *check; - FILE *tmpf = tmpfile(); - if (!tmpf) - fatal_error("cannot open temporary file: %s", strerror(errno)); - - /* check integrity */ - check = translate_binhex(ifp, tmpf); - if (check) - fatal_error("%s: not a BinHex file (%s)", ifp_name, check); - check = check_binhex(tmpf); - if (check) - fatal_error("%s: bad BinHex file (%s)", ifp_name, check); - - /* find resource offset */ - reposition(tmpf, 0); - res_offset = read_one(tmpf); - reposition(tmpf, 1 + res_offset + 11); - res_offset += 22 + read_four(tmpf) + 2; - if (ifp != stdin) - fclose(ifp); - ifp = tmpf; - - } else { - fatal_error("%s: strange format", ifp_name); - exit(1); - } - - /* read offsets from resource fork header */ - reposition(ifp, res_offset); - res_data_offset = res_offset + read_four(ifp); - res_map_offset = res_offset + read_four(ifp); - - /* read type list offset from resource map header */ - reposition(ifp, res_map_offset + 24); - type_list_offset = res_map_offset + read_two(ifp); - - /* read type list */ - reposition(ifp, type_list_offset); - num_types = read_two(ifp) + 1; - - /* find POST type */ - post_type = (int32_t)('P' & 0xff) << 24; - post_type |= (int32_t)('O' & 0xff) << 16; - post_type |= (int32_t)('S' & 0xff) << 8; - post_type |= (int32_t)('T' & 0xff); - - while (num_types--) { - if (read_four(ifp) == post_type) { - int nrsrc = 1 + read_two(ifp); - int list_offset = type_list_offset + read_two(ifp); - int rsrc_pos = 0; - int want_id = 501; - int second_time = 1; - reposition(ifp, list_offset); - /* read resources sequentially, starting with ID 501, until we encounter - an "end" resource or we can't find the next resource */ - while (rsrc_pos < nrsrc) { - int offset = ftell(ifp); - int id = read_two(ifp); - if (id == want_id) { - (void) read_two(ifp); - (void) read_one(ifp); - num_extracted++; - if (!extract_data(ifp, ofp, &w, res_data_offset + read_three(ifp), pfb)) - break; - second_time = 0; - want_id++; - } - reposition(ifp, offset + 12); - rsrc_pos++; - if (rsrc_pos >= nrsrc && !second_time) { - reposition(ifp, list_offset); - rsrc_pos = 0; - } - } - break; - } else { - (void) read_two(ifp); - (void) read_two(ifp); - } - } - -#if 0 - system("/bin/rm -f /tmp/x.*"); - { - FILE *f; - int i; - reposition(ifp, res_offset + 16); - if ((f = fopen("/tmp/x.systemarea", "wb"))) { - for (i = res_offset + 16; i < res_data_offset; i++) { - putc(getc(ifp), f); - } - fclose(f); - } - } - reposition(ifp, type_list_offset); - num_types = read_two(ifp) + 1; - while (num_types--) { - int t = read_four(ifp); - int num_of_type = 1 + read_two(ifp); - int32_t save_offset = ftell(ifp) + 2; - reposition(ifp, type_list_offset + read_two(ifp)); - while (num_of_type--) { - FILE *f; - char buf[2048]; - int x, i, attrs; - x = ftell(ifp); - i = read_two(ifp); /* ID */ - read_two(ifp); - attrs = read_one(ifp); - sprintf(buf, "/tmp/x.%c%c%c%c.%d", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255, i); - fprintf(stderr, "%c%c%c%c.%d %d", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255, i, attrs); - if ((f = fopen(buf, "wb"))) { - int l; - reposition(ifp, res_data_offset + read_three(ifp)); - l = read_four(ifp); - fprintf(stderr, " %d\n", l); - while (l > 0) { - int n = (l < 2048 ? l : 2048); - fread(buf, 1, n, ifp); - fwrite(buf, 1, n, f); - l -= n; - } - fclose(f); - } - reposition(ifp, x + 12); - } - reposition(ifp, save_offset); - } -#endif - - if (pfb) - pfb_writer_end(&w); - if (num_extracted == 0) - error("%s: not a Type 1 font (no POST resources)", ifp_name); - - fclose(ifp); - fclose(ofp); - return 0; -} diff --git a/Build/source/utils/t1utils/t1utils-1.34/INSTALL b/Build/source/utils/t1utils/t1utils-1.34/INSTALL new file mode 100644 index 00000000000..95d84c820fb --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/INSTALL @@ -0,0 +1,176 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/Build/source/utils/t1utils/t1utils-1.34/Makefile.am b/Build/source/utils/t1utils/t1utils-1.34/Makefile.am new file mode 100644 index 00000000000..f31a0aadbf7 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/Makefile.am @@ -0,0 +1,49 @@ +## Process this file with automake to produce Makefile.in +AUTOMAKE_OPTIONS = foreign check-news + +bin_PROGRAMS = t1ascii t1binary t1asm t1disasm t1unmac t1mac +man_MANS = t1ascii.1 t1binary.1 t1asm.1 t1disasm.1 t1unmac.1 t1mac.1 + +t1ascii_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1ascii.c +t1binary_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1binary.c +t1asm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1asm.c +t1disasm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1disasm.c +t1unmac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1unmac.c +t1mac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1mac.c + +AM_CPPFLAGS = -I$(top_srcdir)/include +LDADD = @LIBOBJS@ + +EXTRA_DIST = $(man_MANS) t1utils.spec + +srclinks: + cd $(top_srcdir); test -d include/lcdf || mkdir -p include/lcdf + cd $(top_srcdir); for i in clp.h inttypes.h; do \ + ln -sf ~/src/liblcdf/include/lcdf/$$i include/lcdf/$$i; done + cd $(top_srcdir); for i in clp.c strerror.c; do \ + ln -sf ~/src/liblcdf/liblcdf/$$i $$i; done + +versionize: + perl -pi -e "s/^\\.ds V.*/.ds V $(VERSION)/;" t1ascii.1 t1binary.1 t1disasm.1 t1asm.1 t1unmac.1 t1mac.1 + perl -pi -e 's/^Version:(\s*).*/Version:$${1}$(VERSION)/; s/$(PACKAGE)-[\w.]+\.tar\.gz/$(PACKAGE)-$(VERSION).tar.gz/;' t1utils.spec + perl -pi -e 's/VERSION [\d.ab]+/VERSION $(VERSION)/;' README + +rpm: dist + buildarch=`rpm --showrc | awk '/^build arch/ { print $$4; }'` ; \ + mkdir -p /tmp/rpm-t1u/SOURCES /tmp/rpm-t1u/RPMS/$$buildarch \ + /tmp/rpm-t1u/BUILD ; \ + echo 'include: /usr/lib/rpm/rpmrc' > /tmp/rpm-t1u/rc ; \ + echo 'macrofiles: /usr/lib/rpm/macros:/tmp/rpm-t1u/macros' >> /tmp/rpm-t1u/rc ; \ + echo '%_topdir /tmp/rpm-t1u' > /tmp/rpm-t1u/macros ; \ + cp $(PACKAGE)-$(VERSION).tar.gz /tmp/rpm-t1u/SOURCES ; \ + rpmbuild --rcfile /tmp/rpm-t1u/rc -bb t1utils.spec ; \ + cp /tmp/rpm-t1u/RPMS/$$buildarch/*.rpm . + rm -rf /tmp/rpm-t1u + +.PHONY: srclinks versionize rpm diff --git a/Build/source/utils/t1utils/t1utils-1.34/Makefile.in b/Build/source/utils/t1utils/t1utils-1.34/Makefile.in new file mode 100644 index 00000000000..e6bd4f36709 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/Makefile.in @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = t1ascii$(EXEEXT) t1binary$(EXEEXT) t1asm$(EXEEXT) \ + t1disasm$(EXEEXT) t1unmac$(EXEEXT) t1mac$(EXEEXT) +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure INSTALL NEWS config.guess config.sub \ + depcomp install-sh missing strerror.c +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_t1ascii_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1ascii.$(OBJEXT) +t1ascii_OBJECTS = $(am_t1ascii_OBJECTS) +t1ascii_LDADD = $(LDADD) +t1ascii_DEPENDENCIES = @LIBOBJS@ +am_t1asm_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1asm.$(OBJEXT) +t1asm_OBJECTS = $(am_t1asm_OBJECTS) +t1asm_LDADD = $(LDADD) +t1asm_DEPENDENCIES = @LIBOBJS@ +am_t1binary_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1binary.$(OBJEXT) +t1binary_OBJECTS = $(am_t1binary_OBJECTS) +t1binary_LDADD = $(LDADD) +t1binary_DEPENDENCIES = @LIBOBJS@ +am_t1disasm_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1disasm.$(OBJEXT) +t1disasm_OBJECTS = $(am_t1disasm_OBJECTS) +t1disasm_LDADD = $(LDADD) +t1disasm_DEPENDENCIES = @LIBOBJS@ +am_t1mac_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1mac.$(OBJEXT) +t1mac_OBJECTS = $(am_t1mac_OBJECTS) +t1mac_LDADD = $(LDADD) +t1mac_DEPENDENCIES = @LIBOBJS@ +am_t1unmac_OBJECTS = clp.$(OBJEXT) t1lib.$(OBJEXT) t1unmac.$(OBJEXT) +t1unmac_OBJECTS = $(am_t1unmac_OBJECTS) +t1unmac_LDADD = $(LDADD) +t1unmac_DEPENDENCIES = @LIBOBJS@ +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(t1ascii_SOURCES) $(t1asm_SOURCES) $(t1binary_SOURCES) \ + $(t1disasm_SOURCES) $(t1mac_SOURCES) $(t1unmac_SOURCES) +DIST_SOURCES = $(t1ascii_SOURCES) $(t1asm_SOURCES) $(t1binary_SOURCES) \ + $(t1disasm_SOURCES) $(t1mac_SOURCES) $(t1unmac_SOURCES) +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = foreign check-news +man_MANS = t1ascii.1 t1binary.1 t1asm.1 t1disasm.1 t1unmac.1 t1mac.1 +t1ascii_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1ascii.c + +t1binary_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1binary.c + +t1asm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1asm.c + +t1disasm_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1disasm.c + +t1unmac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1unmac.c + +t1mac_SOURCES = include/lcdf/clp.h include/lcdf/inttypes.h \ + clp.c t1lib.h t1lib.c t1mac.c + +AM_CPPFLAGS = -I$(top_srcdir)/include +LDADD = @LIBOBJS@ +EXTRA_DIST = $(man_MANS) t1utils.spec +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +t1ascii$(EXEEXT): $(t1ascii_OBJECTS) $(t1ascii_DEPENDENCIES) + @rm -f t1ascii$(EXEEXT) + $(LINK) $(t1ascii_OBJECTS) $(t1ascii_LDADD) $(LIBS) +t1asm$(EXEEXT): $(t1asm_OBJECTS) $(t1asm_DEPENDENCIES) + @rm -f t1asm$(EXEEXT) + $(LINK) $(t1asm_OBJECTS) $(t1asm_LDADD) $(LIBS) +t1binary$(EXEEXT): $(t1binary_OBJECTS) $(t1binary_DEPENDENCIES) + @rm -f t1binary$(EXEEXT) + $(LINK) $(t1binary_OBJECTS) $(t1binary_LDADD) $(LIBS) +t1disasm$(EXEEXT): $(t1disasm_OBJECTS) $(t1disasm_DEPENDENCIES) + @rm -f t1disasm$(EXEEXT) + $(LINK) $(t1disasm_OBJECTS) $(t1disasm_LDADD) $(LIBS) +t1mac$(EXEEXT): $(t1mac_OBJECTS) $(t1mac_DEPENDENCIES) + @rm -f t1mac$(EXEEXT) + $(LINK) $(t1mac_OBJECTS) $(t1mac_LDADD) $(LIBS) +t1unmac$(EXEEXT): $(t1unmac_OBJECTS) $(t1unmac_DEPENDENCIES) + @rm -f t1unmac$(EXEEXT) + $(LINK) $(t1unmac_OBJECTS) $(t1unmac_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1ascii.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1asm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1binary.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1disasm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1lib.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1mac.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1unmac.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @case `sed 15q $(srcdir)/NEWS` in \ + *"$(VERSION)"*) : ;; \ + *) \ + echo "NEWS not updated; not releasing" 1>&2; \ + exit 1;; \ + esac + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) config.h +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(DEPDIR) ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-info: install-info-am + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf $(DEPDIR) ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ + dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-man uninstall-man1 + + +srclinks: + cd $(top_srcdir); test -d include/lcdf || mkdir -p include/lcdf + cd $(top_srcdir); for i in clp.h inttypes.h; do \ + ln -sf ~/src/liblcdf/include/lcdf/$$i include/lcdf/$$i; done + cd $(top_srcdir); for i in clp.c strerror.c; do \ + ln -sf ~/src/liblcdf/liblcdf/$$i $$i; done + +versionize: + perl -pi -e "s/^\\.ds V.*/.ds V $(VERSION)/;" t1ascii.1 t1binary.1 t1disasm.1 t1asm.1 t1unmac.1 t1mac.1 + perl -pi -e 's/^Version:(\s*).*/Version:$${1}$(VERSION)/; s/$(PACKAGE)-[\w.]+\.tar\.gz/$(PACKAGE)-$(VERSION).tar.gz/;' t1utils.spec + perl -pi -e 's/VERSION [\d.ab]+/VERSION $(VERSION)/;' README + +rpm: dist + buildarch=`rpm --showrc | awk '/^build arch/ { print $$4; }'` ; \ + mkdir -p /tmp/rpm-t1u/SOURCES /tmp/rpm-t1u/RPMS/$$buildarch \ + /tmp/rpm-t1u/BUILD ; \ + echo 'include: /usr/lib/rpm/rpmrc' > /tmp/rpm-t1u/rc ; \ + echo 'macrofiles: /usr/lib/rpm/macros:/tmp/rpm-t1u/macros' >> /tmp/rpm-t1u/rc ; \ + echo '%_topdir /tmp/rpm-t1u' > /tmp/rpm-t1u/macros ; \ + cp $(PACKAGE)-$(VERSION).tar.gz /tmp/rpm-t1u/SOURCES ; \ + rpmbuild --rcfile /tmp/rpm-t1u/rc -bb t1utils.spec ; \ + cp /tmp/rpm-t1u/RPMS/$$buildarch/*.rpm . + rm -rf /tmp/rpm-t1u + +.PHONY: srclinks versionize rpm +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/Build/source/utils/t1utils/t1utils-1.34/NEWS b/Build/source/utils/t1utils/t1utils-1.34/NEWS new file mode 100644 index 00000000000..5121a2ad78e --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/NEWS @@ -0,0 +1,295 @@ +T1utils NEWS + +Version 1.34 1.Mar.2008 + +* Add '--enable-multiplatform' (requested by Karl Berry). + + +Version 1.33 8.Jan.2008 + +* Several minor cleanups. + + +Version 1.32 23.Feb.2004 + +* t1disasm: Avoid memory corruption bug (strings passed to eexec_line are + not null terminated). Reported by Werner Lemberg. + + +Version 1.31 8.Feb.2004 + +* All: Support fonts where the eexec-encrypted portion is binary, and the + first ciphertext byte is 0. Reported by Werner Lemberg. + + +Version 1.30 6.Jan.2004 + +* All: Support fonts, such as those in PostScript files printed by + acroread, where "currentfile eexec" is not followed by a newline. + + +Version 1.29 6.Oct.2003 + +* t1disasm: Support odd fonts where a character is defined on the + "/CharStrings" line. Reported by Werner Lemberg. + + +Version 1.28 7.Aug.2003 + +* Address build problems reported by Nelson H.F. Beebe. + + +Version 1.27 26.Mar.2003 + +* t1ascii: Add optional warning when output lines are longer than 255 + characters. Requested by Werner Lemberg . + + +Version 1.26 16.Apr.2002 + +* t1mac: Fix buglet (C++ comment, and temporary file left behind). Reported + by Vladimir Volovich . + + +Version 1.25 3.Jan.2002 + +* t1asm: Beware extra characters after `currentfile closefile'. Reported by + Luc Devroye . + + +Version 1.24 6.Sep.2001 + +* Fixed compilation bugs on various platforms reported by Nelson H. F. + Beebe . + + +Version 1.23 18.Jun.2001 + +* Fixed Macintosh file bugs: the MacBinary CRC was calculated incorrectly, + and extended finder flags were set to random values in BinHex output. + Reported, and patch provided, by Tom Kacvinsky . + + +Version 1.22 6.Mar.2001 + +* Fixed bug on processing PFA fonts with DOS line endings. The symptom was + t1binary producing strange/unusable fonts. Problem: the all-zeros line, + which signals the end of the font's binary section, was not being + recognized because of an extra '\r'. This has been a bug since version + 1.13 -- chagrin! Problem reported by Han The Thanh + . + + +Version 1.21 9.Feb.2001 + +* t1ascii, t1asm, t1unmac: Raised minimum PFA line length to 8. The Adobe + spec may imply that there cannot be whitespace within the first 8 bytes + of an ASCII-encoded eexec section; it's somewhat ambiguous. Reported by + Rainer Menzner . + + +Version 1.20 22.Jun.2000 + +* t1asm: Fixed bug where `t1asm -a' would give a `warning: line length + raised to 4' error message. Reported by Tom Kacvinsky . + + +Version 1.19 3.May.2000 + +* t1mac: Generated Macintosh fonts now use a custom-drawn icon set, rather + than Adobe's default. They also have a t1utils-specific creator signature + (T1UT), and their file information mentions t1utils. + +* t1mac: Added the `--filename' option. + + +Version 1.18 2.May.2000 + +* t1mac: Fixed bug where generated files appeared corrupted to Macintoshes. + Reported by Marten Thavenius . + + +Version 1.17 27.Apr.2000 + +* Added new program, `t1mac', which translates PFA or PFB fonts into + Macintosh-style fonts. T1mac can output in MacBinary, AppleSingle, + AppleDouble, or BinHex format. Suggested by Marten Thavenius + . + +* t1unmac: Added support for BinHex. + +* t1unmac: Fixed bugs in manual page and program options. + + +Version 1.16 25.Apr.2000 + +* t1unmac: Supports AppleSingle and AppleDouble files with the + `--applesingle/double' option. Requested by Kent Boortz + . + + +Version 1.15 4.Apr.2000 + +* t1ascii, t1binary, and t1disasm: Fixed bad error message. + +* t1unmac: Generates PFB fonts by default. + + +Version 1.14 25.Aug.1999 + +* t1asm: Version 1.13 produced complete crap output. My test cases were too + limited to catch this. Found by Rainer Menzner + . + + +Version 1.13 2.Aug.1999 + +* t1disasm: Complete rewrite. It now uses t1lib.c functions; the goal is to + handle PFA and PFB fonts consistently. This has been extensively tested, + but there may be bugs. + +* t1disasm, t1asm: Fixed to support fonts with multiple Subrs and + CharStrings sections, like some old Oblique fonts. + +* PFA minimum line length raised to 4. + +* t1ascii, t1binary, t1disasm: Changes in t1lib.c to support reading binary + PFA fonts. Requested by Tom Kacvinsky . + + +Version 1.12 1.Aug.1999 + +* t1ascii, t1binary, t1asm, t1disasm: Support fonts with whitespace + following the "currentfile eexec" line. Embedded fonts in PostScript + generated by Acrobat Reader have this property. Reported by Tom Kacvinsky + . + +* t1ascii, t1asm, t1unmac: Use lowercase hex digits instead of uppercase. + +* t1unmac: Added `--line-length' option for PFA output. + + +Version 1.11 29.May.1999 + +* Bug fix in t1asm/t1disasm: if a `readhexstring' procedure was defined, we + got confused. Reported by Luc Devroye . + +* t1binary now has a maximum block length of 2^32 - 1. "Feature" requested + by Werner Lemberg . + +* t1ascii and t1binary each accept both PFA and PFB fonts. If you pass an + ASCII font (PFA) to t1ascii, it will output it mostly unchanged, and + similarly for PFB fonts and t1binary. The `-l' options will still take + effect, so you can use `t1ascii -l 60' to shorten the encrypted line + lengths of a PFA font. t1ascii also does some newline translation + (changes carriage returns to newlines). + + +Version 1.10.1 12.Apr.1999 + +* t1asm: Fixed bug when `-l' option wasn't provided. Caught by Giuseppe + Ghibò . + + +Version 1.10 11.Apr.1999 + +* t1asm/t1disasm: Provide support for Type1C (Compact Font Format) font + files. These fonts have unencrypted character strings, signalled by a + negative lenIV value. Suggestion and patch thanks to Tom Kacvinsky + . + +* t1ascii/t1asm: Added `-l/--line-length' option to control maximum + encrypted line length. Suggestion thanks to Giuseppe Ghibò + . + + +Version 1.9 14.Feb.1999 + +* t1asm/t1disasm: Be more robust on fonts that don't end in `mark + currentfile closefile'. John Vromans provided a + font that ended with `mark' on one line and `currentfile closefile' on + another; t1asm and t1disasm did not recognize the encrypted section of + the font had ended, and generated some garbage. + + +Version 1.8 2.Jan.1999 + +* Added some more Type 2 commands (flex, flex1, hflex, hflex1) from a + revision of the Type 2 spec. (I wouldn't have known about this except for + CurveSoft's revised t1utils package, available at + http://www.curvesoft.com. These t1utils are more up-to-date than theirs, + however.) + +* t1asm: Fixed one Type 2 command's translation (cntrmask was incorrectly + mapped to 18, not 20). + + +Version 1.7.2 11.Dec.1998 + +* Integrated patches from Jan-Jaap van der Heijden + to support building t1utils under + 32-bit Windows. + + +Version 1.7.1 5.Dec.1998 + +* The t1utils package now uses automake. + + +Version 1.7 27.Nov.1998 + +* t1asm: Should now work with fonts that have no /Subrs sections. Previously, + assembling such a font would silently fail; all the character definitions + would be mistaken for procedures and t1asm wouldn't translate them. Problem + noticed and fix suggested by Tom Kacvinsky . + +* t1disasm: Removed spurious debugging output and improved warning message + about unknown charstring commands. + +* Changed fgetc/fputc into getc/putc. + + +Version 1.6 27.Sep.1998 + +* `--help' now prints to stdout, following the GNU Coding Standards. + +* Makefiles: Added `make uninstall' target, enabled `./configure's + program name transformations, made VPATH builds possible. + + +Version 1.5.2 6.Aug.1998 + +* t1asm/t1disasm: Changed unknown charstring commands at the request of + Werner Lemberg and LEE Chun-Yu. An unknown escape in the charstring, like + 12 X, is translated to "escape_X" rather than "UNKNOWN_12_X". + + +Version 1.5.1 31.May.1998 + +* t1unmac did not actually understand the -r and -b options. Fixed. + +* t1unmac: Added better diagnostics to help you diagnose seeking problems. + + +Version 1.5 5.Mar.1998 + +* Initial release with Eddie Kohler as maintainer. + +* All: Updated to the GNU program behavior standards (long options, --help, + --version). Banners removed. Added more error messages. + +* t1binary: Removed fixed limit on line length. + +* t1binary: Supports Macintosh files, whose lines end in `\r'. + +* t1binary: Supports an odd number of hex digits in a line. + +* t1asm/t1disasm: Added support for Type 2 commands like `blend' and `add', + which also appear in some multiple master fonts like Adobe Jenson. + +* t1asm/t1disasm: Added support for unknown charstring commands. t1disasm + translates an unknown command #X to "UNKNOWN_X", and t1asm does the reverse. + +* t1asm/t1unmac: Changed default output to PFB. + +* t1unmac: Used to be called `unpost'. `t1unmac' is a much better name. diff --git a/Build/source/utils/t1utils/t1utils-1.34/README b/Build/source/utils/t1utils/t1utils-1.34/README new file mode 100644 index 00000000000..125ffc55bda --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/README @@ -0,0 +1,81 @@ +T1UTILS VERSION 1.34 NOTES +========================== + + You need an ANSI C compiler, such as gcc. + + Just type `./configure', then `make'. `make install' will build and +install the utilities and their manual pages. + + `./configure' accepts the usual options. See `INSTALL' for more +details. The most commonly used option is `--prefix', which can be used +to install the utilities in a place other than /usr/local. + + Changes since version 1.2 (c) 1998-2008 Eddie Kohler, under the same +redistribution copyright as I. Lee Hetherington's. See below for I. Lee +Hetherington's original README from 1992, updated slightly for today's +t1utils. + +Eddie Kohler +ekohler@gmail.com + +#################################################################### + +t1utils is a collection of simple type-1 font manipulation programs. +Together, they allow you to convert between PFA (ASCII) and PFB (binary) +formats, disassemble PFA or PFB files into human-readable form, reassemble +them into PFA or PFB format. Additionally you can extract font resources +from a Macintosh font file (ATM/Laserwriter), or create a Macintosh Type 1 +font file from a PFA or PFB font. + +There are currently six programs: + +t1ascii converts PFB files to PFA format. + +t1binary converts PFA files to PFB format. + +t1disasm disassembles a type-1 font (PFA or PFB format) into a + raw, human-readable text form for subsequent hand + editing, tweaking, hint fixing, etc... + +t1asm assembles type-1 font into PFA or PFB format from + human-readable form produced by t1disasm. + +t1unmac extracts POST resources from a Macintosh type-1 file + (ATM/Laserwriter) into PFA or PFB format for use outside + the Macintosh environment. The Macintosh file should be + stored in MacBinary, AppleSingle, AppleDouble, or BinHex + format, or as a raw resource fork. Note that t1unmac does + not have to run on a Macintosh, but makes Macintosh type-1 + fonts available to Unix machines and PCs. + +t1mac creates a Macintosh Type 1 file from a PFA or PFB-format + Type 1 font. Writes the Macintosh file in MacBinary, + AppleSingle, AppleDouble, or BinHex format, or as a raw + resource fork. WARNING: This will not suffice to use the + new font on a Macintosh, as Macintoshes cannot read raw + Type 1 fonts. You will need to create a font suitcase + containing bitmap fonts if you do not have such a suitcase + for the font already. T1utils cannot help you do this. + +... + +Thanks to Kai-Uwe Herbing (herbing@netmbx.netmbx.de) for the MS-DOS +port (Microsoft C/C++ compiler). + +The copyright on all of the tools in t1utils looks like: + + Copyright (c) 1992 by I. Lee Hetherington, all rights + reserved. + + Permission is hereby granted to use, modify, and distribute + this program for any purpose provided this copyright notice + and the one below remain intact. + +Note that these tools should not be used to illegally copy type-1 font +programs. Typeface design is an intricate art that should be +rewarded. + +I. Lee Hetherington +ilh@lcs.mit.edu + +#################################################################### diff --git a/Build/source/utils/t1utils/t1utils-1.34/aclocal.m4 b/Build/source/utils/t1utils/t1utils-1.34/aclocal.m4 new file mode 100644 index 00000000000..574831d889b --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/aclocal.m4 @@ -0,0 +1,903 @@ +# generated automatically by aclocal 1.10 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_if(m4_PACKAGE_VERSION, [2.61],, +[m4_fatal([this file was generated for autoconf 2.61. +You have another version of autoconf. If you want to use that, +you should regenerate the build system entirely.], [63])]) + +# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.10])dnl +_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 9 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.60])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/Build/source/utils/t1utils/t1utils-1.34/clp.c b/Build/source/utils/t1utils/t1utils-1.34/clp.c new file mode 100644 index 00000000000..f073c8f9b60 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/clp.c @@ -0,0 +1,1624 @@ +/* -*- related-file-name: "../include/lcdf/clp.h" -*- */ +/* clp.c - Complete source code for CLP. + * This file is part of CLP, the command line parser package. + * + * Copyright (c) 1997-2006 Eddie Kohler, kohler@cs.ucla.edu + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, subject to the conditions + * listed in the Click LICENSE file, which is available in full at + * http://www.pdos.lcs.mit.edu/click/license.html. The conditions include: you + * must preserve this copyright notice, and you cannot mention the copyright + * holders in advertising related to the Software without their permission. + * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This + * notice is a summary of the Click LICENSE file; the license in that file is + * legally binding. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include +#include +#include +#include +#include +#include + +/* By default, assume we have strtoul. */ +#if !defined(HAVE_STRTOUL) && !defined(HAVE_CONFIG_H) +# define HAVE_STRTOUL 1 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Option types for Clp_SetOptionChar */ +#define Clp_DoubledLong (Clp_LongImplicit * 2) + +#define Clp_AnyArgument (Clp_Mandatory | Clp_Optional) + +#define MAX_AMBIGUOUS_VALUES 4 + +typedef struct { + Clp_ArgParseFunc func; + int flags; + void *thunk; +} Clp_ArgType; + + +typedef struct { + int pos; + int neg; +} Clp_LongMinMatch; + + +struct Clp_Internal { + + Clp_Option *opt; + Clp_LongMinMatch *long_min_match; + int nopt; + + Clp_ArgType *argtype; + int nargtype; + + const char * const *argv; + int argc; + + unsigned char option_class[256]; + int both_short_and_long; + + char option_chars[3]; + const char *text; + + const char *program_name; + void (*error_handler)(const char *); + + int is_short; + int whole_negated; /* true if negated by an option character */ + int could_be_short; + + int option_processing; + + int ambiguous; + int ambiguous_values[MAX_AMBIGUOUS_VALUES]; + + Clp_Option *current_option; + int current_short; + int negated_by_no; + +}; + + +struct Clp_ParserState { + const char * const *argv; + int argc; + char option_chars[3]; + const char *text; + int is_short; + int whole_negated; +}; + + +typedef struct Clp_StringList { + Clp_Option *items; + Clp_LongMinMatch *long_min_match; + int nitems; + int allow_int; + int nitems_invalid_report; +} Clp_StringList; + + +#define TEST(o, f) (((o)->flags & (f)) != 0) + + +static int calculate_long_min_match(int, Clp_Option *, int, int, int); + +static int parse_string(Clp_Parser *, const char *, int, void *); +static int parse_int(Clp_Parser *, const char *, int, void *); +static int parse_bool(Clp_Parser *, const char *, int, void *); +static int parse_double(Clp_Parser *, const char *, int, void *); +static int parse_string_list(Clp_Parser *, const char *, int, void *); + +static int ambiguity_error(Clp_Parser *, int, int *, Clp_Option *, + const char *, const char *, ...); + + +/******* + * Clp_NewParser, etc. + **/ + +static void +check_duplicated_short_options(Clp_Parser *clp, int nopt, Clp_Option *opt, int negated) +{ + int i; + int check[256]; + + for (i = 0; i < 256; i++) + check[i] = -1; + + for (i = 0; i < nopt; i++) + if (opt[i].short_name > 0 && opt[i].short_name < 256 + && (negated ? TEST(&opt[i], Clp_Negate) + : !TEST(&opt[i], Clp_OnlyNegated))) { + int sh = opt[i].short_name; + if (check[sh] >= 0 && check[sh] != opt[i].option_id) + Clp_OptionError(clp, "CLP internal error: more than 1 option has short name '%c'", sh); + check[sh] = opt[i].option_id; + } +} + +Clp_Parser * +Clp_NewParser(int argc, const char * const *argv, int nopt, Clp_Option *opt) + /* Creates and returns a new Clp_Parser using the options in 'opt', + or 0 on memory allocation failure */ +{ + int i; + Clp_Parser *clp = (Clp_Parser *)malloc(sizeof(Clp_Parser)); + Clp_Internal *cli = (Clp_Internal *)malloc(sizeof(Clp_Internal)); + Clp_LongMinMatch *lmm = (Clp_LongMinMatch *)malloc(sizeof(Clp_LongMinMatch) * nopt); + if (!clp || !cli || !lmm) + goto failed; + + clp->internal = cli; + cli->long_min_match = lmm; + + /* Assign arguments (need to do this now so we can call Clp_OptionError) */ + cli->argc = argc; + cli->argv = argv; + { + const char *slash = strrchr(argv[0], '/'); + cli->program_name = slash ? slash + 1 : argv[0]; + } + cli->error_handler = 0; + + /* Get rid of negative option_ids, which are internal to CLP */ + for (i = 0; i < nopt; i++) + if (opt[i].option_id < 0) { + Clp_OptionError(clp, "CLP internal error: option %d has negative option_id", i); + opt[i] = opt[nopt - 1]; + nopt--; + i--; + } + + /* Massage the options to make them usable */ + for (i = 0; i < nopt; i++) { + /* Enforce invariants */ + if (opt[i].arg_type <= 0) + opt[i].flags &= ~Clp_AnyArgument; + if (opt[i].arg_type > 0 && !TEST(&opt[i], Clp_Optional)) + opt[i].flags |= Clp_Mandatory; + + /* Nonexistent short options have character 256. We know this won't + equal any character in an argument, even if characters are signed */ + if (opt[i].short_name <= 0 || opt[i].short_name > 255) + opt[i].short_name = 256; + + /* Options that start with 'no-' should be changed to OnlyNegated */ + if (opt[i].long_name && strncmp(opt[i].long_name, "no-", 3) == 0) { + opt[i].long_name += 3; + opt[i].flags |= Clp_Negate | Clp_OnlyNegated; + } + } + + /* Check for duplicated short options */ + check_duplicated_short_options(clp, nopt, opt, 0); + check_duplicated_short_options(clp, nopt, opt, 1); + + /* Calculate long options' minimum unambiguous length */ + for (i = 0; i < nopt; i++) + if (opt[i].long_name && !TEST(&opt[i], Clp_OnlyNegated)) + lmm[i].pos = calculate_long_min_match + (nopt, opt, i, Clp_OnlyNegated, 0); + for (i = 0; i < nopt; i++) + if (opt[i].long_name && TEST(&opt[i], Clp_Negate)) + lmm[i].neg = calculate_long_min_match + (nopt, opt, i, Clp_Negate, Clp_Negate); + + /* Set up clp->internal */ + cli->opt = opt; + cli->nopt = nopt; + + cli->argtype = (Clp_ArgType *)malloc(sizeof(Clp_ArgType) * 8); + if (!cli->argtype) + goto failed; + for (i = 0; i < 8; i++) + cli->argtype[i].func = 0; + cli->nargtype = 8; + + for (i = 0; i < 256; i++) + cli->option_class[i] = 0; + cli->option_class[(unsigned char) '-'] = Clp_Short; + cli->both_short_and_long = 0; + + cli->is_short = 0; + cli->whole_negated = 0; + + cli->option_processing = 1; + cli->current_option = 0; + + /* Add default type parsers */ + Clp_AddType(clp, Clp_ArgString, 0, parse_string, 0); + Clp_AddType(clp, Clp_ArgStringNotOption, Clp_DisallowOptions, parse_string, 0); + Clp_AddType(clp, Clp_ArgInt, 0, parse_int, 0); + Clp_AddType(clp, Clp_ArgUnsigned, 0, parse_int, (void *)cli); + Clp_AddType(clp, Clp_ArgBool, 0, parse_bool, 0); + Clp_AddType(clp, Clp_ArgDouble, 0, parse_double, 0); + return clp; + + failed: + /* It should be OK to free(0), but on some ancient systems, it isn't */ + if (cli && cli->argtype) + free(cli->argtype); + if (cli) + free(cli); + if (clp) + free(clp); + if (lmm) + free(lmm); + return 0; +} + +void +Clp_DeleteParser(Clp_Parser *clp) + /* Destroys the Clp_Parser 'clp' and any associated memory allocated by + CLP */ +{ + int i; + Clp_Internal *cli; + if (!clp) + return; + + cli = clp->internal; + + /* get rid of any string list types */ + for (i = 0; i < cli->nargtype; i++) + if (cli->argtype[i].func == parse_string_list) { + Clp_StringList *clsl = (Clp_StringList *)cli->argtype[i].thunk; + free(clsl->items); + free(clsl->long_min_match); + free(clsl); + } + + free(cli->argtype); + free(cli->long_min_match); + free(cli); + free(clp); +} + +int +Clp_SetOptionProcessing(Clp_Parser *clp, int option_processing) + /* Sets whether command line arguments are parsed (looking for options) + at all. Each parser starts out with OptionProcessing true. Returns old + value. */ +{ + Clp_Internal *cli = clp->internal; + int old = cli->option_processing; + cli->option_processing = option_processing; + return old; +} + +Clp_ErrorHandler +Clp_SetErrorHandler(Clp_Parser *clp, void (*error_handler)(const char *)) + /* Sets a hook function to be called before Clp_OptionError + prints anything. 0 means nothing will be called. */ +{ + Clp_Internal *cli = clp->internal; + Clp_ErrorHandler old = cli->error_handler; + cli->error_handler = error_handler; + return old; +} + +int +Clp_SetOptionChar(Clp_Parser *clp, int c, int option_type) + /* Determines how clp will deal with short options. + option_type must be a sum of: + + 0 == Clp_NotOption 'c' isn't an option. + Clp_Short 'c' introduces a list of short options. + Clp_Long 'c' introduces a long option. + Clp_ShortNegated 'c' introduces a negated list of + short options. + Clp_LongNegated 'c' introduces a negated long option. + Clp_LongImplicit 'c' introduces a long option, and *is part + of the long option itself*. + + Some values are not allowed (Clp_Long | Clp_LongNegated isn't allowed, + for instance). c=0 means ALL characters are that type. Returns 0 on + failure (you gave an illegal option_type), 1 on success. */ +{ + int i; + Clp_Internal *cli = clp->internal; + + if (option_type < 0 + || option_type >= 2*Clp_LongImplicit + || ((option_type & Clp_Short) && (option_type & Clp_ShortNegated)) + || ((option_type & Clp_Long) && (option_type & Clp_LongNegated)) + || ((option_type & Clp_LongImplicit) && (option_type & (Clp_Short | Clp_ShortNegated | Clp_Long | Clp_LongNegated)))) + return 0; + + if (c == 0) + for (i = 1; i < 256; i++) + cli->option_class[i] = option_type; + else + cli->option_class[(unsigned char) c] = option_type; + + /* If an option character can introduce either short or long options, then + we need to fix up the long_min_match values. We may have set the + long_min_match for option 'abcde' to 1, if no other option starts + with 'a'. But if '-' can introduce either a short option or a long + option, AND a short option '-a' exists, then the long_min_match for + 'abcde' must be set to 2! */ + if (!cli->both_short_and_long) { + int either_short = option_type & (Clp_Short | Clp_ShortNegated); + int either_long = option_type & (Clp_Long | Clp_LongNegated); + if (either_short && either_long) { + unsigned char have_short[257]; + for (i = 0; i < 256; i++) + have_short[i] = 0; + for (i = 0; i < cli->nopt; i++) + have_short[cli->opt[i].short_name] = 1; + for (i = 0; i < cli->nopt; i++) + if (cli->opt[i].long_name && cli->long_min_match[i].pos == 1) { + /* if '--Cxxxx's short name is '-C', keep long_min_match + == 1 */ + unsigned char first = (unsigned char)cli->opt[i].long_name[0]; + if (have_short[first] && first != cli->opt[i].short_name) + cli->long_min_match[i].pos++; + } + cli->both_short_and_long = 1; + } + } + + return 1; +} + +const char * +Clp_ProgramName(Clp_Parser *clp) +{ + return clp->internal->program_name; +} + +void +Clp_SetProgramName(Clp_Parser *clp, const char *program_name) +{ + clp->internal->program_name = program_name; +} + + +/******* + * functions for Clp_Option lists + **/ + +static int +min_different_chars(const char *s, const char *t) + /* Returns the minimum number of characters required to distinguish + s from t. + If s is shorter than t, returns strlen(s). */ +{ + const char *sfirst = s; + while (*s && *t && *s == *t) + s++, t++; + if (!*s) + return s - sfirst; + else + return s - sfirst + 1; +} + +static int +calculate_long_min_match(int nopt, Clp_Option *opt, int which, + int flags, int flags_value) +{ + int j, lmm = 1; + int preferred = (opt[which].flags & Clp_PreferredMatch); + + for (j = 0; j < nopt; j++) + if (opt[j].long_name + && (opt[j].flags & flags) == flags_value + && opt[which].option_id != opt[j].option_id + && strncmp(opt[which].long_name, opt[j].long_name, lmm) == 0 + && (!preferred || strncmp(opt[which].long_name, opt[j].long_name, strlen(opt[which].long_name)) != 0)) + lmm = min_different_chars(opt[which].long_name, opt[j].long_name); + + return lmm; +} + +/* the ever-glorious argcmp */ + +static int +argcmp(const char *ref, const char *arg, int min_match, int fewer_dashes) + /* Returns 0 if ref and arg don't match. + Returns -1 if ref and arg match, but fewer than min_match characters. + Returns len if ref and arg match min_match or more characters; + len is the number of characters that matched in arg. + Allows arg to contain fewer dashes than ref iff fewer_dashes != 0. + + Examples: + argcmp("x", "y", 1, 0) --> 0 / just plain wrong + argcmp("a", "ax", 1, 0) --> 0 / ...even though min_match == 1 + and the 1st chars match + argcmp("box", "bo", 3, 0) --> -1 / ambiguous + argcmp("cat", "c=3", 1, 0) --> 1 / handles = arguments + */ +{ + const char *refstart = ref; + const char *argstart = arg; + assert(min_match > 0); + + compare: + while (*ref && *arg && *arg != '=' && *ref == *arg) + ref++, arg++; + + /* Allow arg to contain fewer dashes than ref */ + if (fewer_dashes && *ref == '-' && ref[1] && ref[1] == *arg) { + ref++; + goto compare; + } + + if (*arg && *arg != '=') + return 0; + else if (ref - refstart < min_match) + return -1; + else + return arg - argstart; +} + +static int +find_prefix_opt(const char *arg, int nopt, Clp_Option *opt, + Clp_LongMinMatch *lmmvec, + int *ambiguous, int *ambiguous_values, int negated) + /* Looks for an unambiguous match of 'arg' against one of the long + options in 'opt'. Returns positive if it finds one; otherwise, returns + -1 and possibly changes 'ambiguous' and 'ambiguous_values' to keep + track of at most MAX_AMBIGUOUS_VALUES possibilities. */ +{ + int i, fewer_dashes = 0, first_ambiguous = *ambiguous; + + retry: + for (i = 0; i < nopt; i++) { + int len, lmm; + if (!opt[i].long_name + || (negated && !TEST(&opt[i], Clp_Negate)) + || (!negated && TEST(&opt[i], Clp_OnlyNegated))) + continue; + + lmm = (negated ? lmmvec[i].neg : lmmvec[i].pos); + len = argcmp(opt[i].long_name, arg, lmm, fewer_dashes); + if (len > 0) + return i; + else if (len < 0) { + if (*ambiguous < MAX_AMBIGUOUS_VALUES) + ambiguous_values[*ambiguous] = i; + (*ambiguous)++; + } + } + + /* If there were no partial matches, try again with fewer_dashes true */ + if (*ambiguous == first_ambiguous && !fewer_dashes) { + fewer_dashes = 1; + goto retry; + } + + return -1; +} + + +/***** + * Argument parsing + **/ + +int +Clp_AddType(Clp_Parser *clp, int type_id, int flags, + Clp_ArgParseFunc func, void *thunk) + /* Add a argument parser for type_id to the Clp_Parser. When an argument + arg for Clp_Option opt is being processed, the parser routines will + call (*func)(clp, opt, arg, thunk, complain) + where complain is 1 if the routine should report errors, or 0 if it + should fail silently. + Returns 1 on success, 0 if memory allocation fails or the arguments + are bad. */ +{ + int i; + Clp_Internal *cli = clp->internal; + Clp_ArgType *new_argtype; + int nargtype = cli->nargtype; + assert(nargtype); + + if (type_id <= 0 || !func) + return 0; + + while (nargtype <= type_id) + nargtype *= 2; + new_argtype = (Clp_ArgType *) + realloc(cli->argtype, sizeof(Clp_ArgType) * nargtype); + if (!new_argtype) + return 0; + cli->argtype = new_argtype; + + for (i = cli->nargtype; i < nargtype; i++) + cli->argtype[i].func = 0; + cli->nargtype = nargtype; + + cli->argtype[type_id].func = func; + cli->argtype[type_id].flags = flags; + cli->argtype[type_id].thunk = thunk; + return 1; +} + + +/******* + * Default argument parsers + **/ + +static int +parse_string(Clp_Parser *clp, const char *arg, int complain, void *thunk) +{ + (void)complain, (void)thunk; + clp->val.s = arg; + return 1; +} + +static int +parse_int(Clp_Parser *clp, const char *arg, int complain, void *thunk) +{ + char *val; + int base = 10; + if (arg[0] == '0' && (arg[1] == 'x' || arg[1] == 'X')) { + base = 16; + arg += 2; + } + + if (thunk != 0) { /* unsigned */ +#if HAVE_STRTOUL + clp->val.u = strtoul(arg, &val, base); +#else + /* don't bother really trying to do it right */ + if (arg[0] == '-') + val = (char *) arg; + else + clp->val.u = strtol(arg, &val, base); +#endif + } else + clp->val.i = strtol(arg, &val, base); + if (*arg != 0 && *val == 0) + return 1; + else if (complain) { + const char *message = thunk != 0 + ? "'%O' expects a nonnegative integer, not '%s'" + : "'%O' expects an integer, not '%s'"; + if (base == 16) arg -= 2; + return Clp_OptionError(clp, message, arg); + } else + return 0; +} + +static int +parse_double(Clp_Parser *clp, const char *arg, int complain, void *thunk) +{ + char *val; + (void)thunk; + clp->val.d = strtod(arg, &val); + if (*arg != 0 && *val == 0) + return 1; + else if (complain) + return Clp_OptionError(clp, "'%O' expects a real number, not '%s'", arg); + else + return 0; +} + +static int +parse_bool(Clp_Parser *clp, const char *arg, int complain, void *thunk) +{ + int i; + char lcarg[6]; + (void)thunk; + if (strlen(arg) > 5 || strchr(arg, '=') != 0) + goto error; + + for (i = 0; arg[i] != 0; i++) + lcarg[i] = tolower(arg[i]); + lcarg[i] = 0; + + if (argcmp("yes", lcarg, 1, 0) > 0 + || argcmp("true", lcarg, 1, 0) > 0 + || argcmp("1", lcarg, 1, 0) > 0) { + clp->val.i = 1; + return 1; + } else if (argcmp("no", lcarg, 1, 0) > 0 + || argcmp("false", lcarg, 1, 0) > 0 + || argcmp("1", lcarg, 1, 0) > 0) { + clp->val.i = 0; + return 1; + } + + error: + if (complain) + Clp_OptionError(clp, "'%O' expects a true-or-false value, not '%s'", arg); + return 0; +} + + +/***** + * Clp_AddStringListType + **/ + +static int +parse_string_list(Clp_Parser *clp, const char *arg, int complain, void *thunk) +{ + Clp_StringList *sl = (Clp_StringList *)thunk; + int idx, ambiguous = 0; + int ambiguous_values[MAX_AMBIGUOUS_VALUES + 1]; + + /* actually look for a string value */ + idx = find_prefix_opt + (arg, sl->nitems, sl->items, sl->long_min_match, + &ambiguous, ambiguous_values, 0); + if (idx >= 0) { + clp->val.i = sl->items[idx].option_id; + return 1; + } + + if (sl->allow_int) { + if (parse_int(clp, arg, 0, 0)) + return 1; + } + + if (complain) { + const char *complaint = (ambiguous ? "an ambiguous" : "not a valid"); + if (!ambiguous) { + ambiguous = sl->nitems_invalid_report; + for (idx = 0; idx < ambiguous; idx++) + ambiguous_values[idx] = idx; + } + return ambiguity_error + (clp, ambiguous, ambiguous_values, sl->items, "", + "'%s' is %s argument to '%O'", arg, complaint); + } else + return 0; +} + + +static int +finish_string_list(Clp_Parser *clp, int type_id, int flags, + Clp_Option *items, int nitems, int itemscap) +{ + int i; + Clp_StringList *clsl = (Clp_StringList *)malloc(sizeof(Clp_StringList)); + Clp_LongMinMatch *lmm = (Clp_LongMinMatch *)malloc(sizeof(Clp_LongMinMatch) * nitems); + if (!clsl || !lmm) + goto error; + + clsl->items = items; + clsl->long_min_match = lmm; + clsl->nitems = nitems; + clsl->allow_int = (flags & Clp_AllowNumbers) != 0; + + if (nitems < MAX_AMBIGUOUS_VALUES && nitems < itemscap && clsl->allow_int) { + items[nitems].long_name = "any integer"; + clsl->nitems_invalid_report = nitems + 1; + } else if (nitems > MAX_AMBIGUOUS_VALUES + 1) + clsl->nitems_invalid_report = MAX_AMBIGUOUS_VALUES + 1; + else + clsl->nitems_invalid_report = nitems; + + for (i = 0; i < nitems; i++) + lmm[i].pos = calculate_long_min_match(nitems, items, i, 0, 0); + + if (Clp_AddType(clp, type_id, 0, parse_string_list, clsl)) + return 1; + + error: + if (clsl) + free(clsl); + if (lmm) + free(lmm); + return 0; +} + +int +Clp_AddStringListType(Clp_Parser *clp, int type_id, int flags, ...) + /* An easy way to add new types to clp. + Call like this: + Clp_AddStringListType + (clp, type_id, flags, + char *s_1, int value_1, ..., char *s_n, int value_n, 0); + + Defines type_id as a type in clp. + This type accepts any of the strings s_1, ..., s_n + (or unambiguous abbreviations thereof); + if argument s_i is given, value_i is stored in clp->val.i. + If Clp_AllowNumbers is set in flags, + explicit integers are also allowed. + + Returns 1 on success, 0 on memory allocation errors. */ +{ + int nitems = 0; + int itemscap = 5; + Clp_Option *items = (Clp_Option *)malloc(sizeof(Clp_Option) * itemscap); + + va_list val; + va_start(val, flags); + + if (!items) + goto error; + + /* slurp up the arguments */ + while (1) { + int value; + char *name = va_arg(val, char *); + if (!name) + break; + value = va_arg(val, int); + + if (nitems >= itemscap) { + Clp_Option *new_items; + itemscap *= 2; + new_items = (Clp_Option *)realloc(items, sizeof(Clp_Option) * itemscap); + if (!new_items) + goto error; + items = new_items; + } + + items[nitems].long_name = name; + items[nitems].option_id = value; + items[nitems].flags = 0; + nitems++; + } + + va_end(val); + if (finish_string_list(clp, type_id, flags, items, nitems, itemscap)) + return 1; + + error: + va_end(val); + if (items) + free(items); + return 0; +} + + +int +Clp_AddStringListTypeVec(Clp_Parser *clp, int type_id, int flags, + int nitems, char **strings, int *values) + /* An alternate way to make a string list type. See Clp_AddStringListType + for the basics; this coalesces the strings and values into two arrays, + rather than spreading them out into a variable argument list. */ +{ + int i; + int itemscap = (nitems < 5 ? 5 : nitems); + Clp_Option *items = (Clp_Option *)malloc(sizeof(Clp_Option) * itemscap); + if (!items) + return 0; + + /* copy over items */ + for (i = 0; i < nitems; i++) { + items[i].long_name = strings[i]; + items[i].option_id = values[i]; + items[i].flags = 0; + } + + if (finish_string_list(clp, type_id, flags, items, nitems, itemscap)) + return 1; + else { + free(items); + return 0; + } +} + + +/******* + * Returning information + **/ + +Clp_Argv * +Clp_NewArgv(const char *str_in, int len) +{ + int argcap = 32; + Clp_Argv *clp_argv = (Clp_Argv *)malloc(sizeof(Clp_Argv)); + char *s, *end; + + if (!clp_argv) + goto failed_all; + if (len < 0) + len = strlen(str_in); + if (!(clp_argv->argv_buf = (char *)malloc(len + 1))) + goto failed_argv_buf; + if (!(clp_argv->argv = (char **)malloc(sizeof(char *) * argcap))) + goto failed_argv; + memcpy(clp_argv->argv_buf, str_in, len); + end = clp_argv->argv_buf + len; + *end = 0; + + /* Parse arguments */ + s = clp_argv->argv_buf; + clp_argv->argc = 0; + while (1) { + char *arg, *sout; + int state; + while (s < end && isspace((unsigned char) *s)) + s++; + if (s >= end) + break; + /* Parse single argument */ + for (arg = sout = s, state = 0; s < end; s++) { + if (*s == '\'') { + if (state == 0) + state = '\''; + else if (state == '\'') + state = 0; + else + *sout++ = *s; + } else if (*s == '\"') { + if (state == 0) + state = '\"'; + else if (state == '\"') + state = 0; + else + *sout++ = *s; + } else if (*s == '\\') { + if (state == '\'' || s == end - 1) + *sout++ = *s; + else + *sout++ = *++s; + } else if (isspace((unsigned char) *s)) { + if (state == 0) + break; + else + *sout++ = *s; + } else + *sout++ = *s; + } + *sout = 0; + s++; + /* Store argument */ + if (clp_argv->argc < argcap - 2) { + argcap *= 2; + if (!(clp_argv->argv = (char **)realloc(clp_argv->argv, sizeof(char *) * argcap))) + goto failed_argv; + } + clp_argv->argv[clp_argv->argc++] = arg; + } + clp_argv->argv[clp_argv->argc] = 0; /* know we have space */ + + return clp_argv; + + failed_argv: + free(clp_argv->argv_buf); + failed_argv_buf: + free(clp_argv); + failed_all: + return 0; +} + +void +Clp_DeleteArgv(Clp_Argv *clp_argv) +{ + if (!clp_argv) + return; + free(clp_argv->argv); + free(clp_argv->argv_buf); + free(clp_argv); +} + + +/****** + * Clp_ParserStates + **/ + +Clp_ParserState * +Clp_NewParserState(void) +{ + return (Clp_ParserState *)malloc(sizeof(Clp_ParserState)); +} + +void +Clp_DeleteParserState(Clp_ParserState *save) +{ + free(save); +} + + +void +Clp_SaveParser(Clp_Parser *clp, Clp_ParserState *save) + /* Saves parser position in save */ +{ + Clp_Internal *cli = clp->internal; + save->argv = cli->argv; + save->argc = cli->argc; + memcpy(save->option_chars, cli->option_chars, 3); + save->text = cli->text; + save->is_short = cli->is_short; + save->whole_negated = cli->whole_negated; +} + + +void +Clp_RestoreParser(Clp_Parser *clp, Clp_ParserState *save) + /* Restores parser position from save */ +{ + Clp_Internal *cli = clp->internal; + cli->argv = save->argv; + cli->argc = save->argc; + memcpy(cli->option_chars, save->option_chars, 3); + cli->text = save->text; + cli->is_short = save->is_short; + cli->whole_negated = save->whole_negated; +} + + +/******* + * Clp_Next and its helpers + **/ + +static void +set_option_text(Clp_Internal *cli, const char *text, int n_option_chars) +{ + char *option_chars = cli->option_chars; + assert(n_option_chars < 3); + + while (n_option_chars-- > 0) + *option_chars++ = *text++; + *option_chars = 0; + + cli->text = text; +} + + +static int +next_argument(Clp_Parser *clp, int want_argument) + /* Moves clp to the next argument. + Returns 1 if it finds another option. + Returns 0 if there aren't any more arguments. + Returns 0, sets clp->have_arg = 1, and sets clp->arg to the argument + if the next argument isn't an option. + If want_argument > 0, it'll look for an argument. + want_argument == 1: Accept arguments that start with Clp_NotOption + or Clp_LongImplicit. + want_argument == 2: Accept ALL arguments. + + Where is the option stored when this returns? + Well, cli->argv[0] holds the whole of the next command line argument. + cli->option_chars holds a string: what characters began the option? + It is generally "-" or "--". + cli->text holds the text of the option: + for short options, cli->text[0] is the relevant character; + for long options, cli->text holds the rest of the option. */ +{ + Clp_Internal *cli = clp->internal; + const char *text; + int option_class; + + /* clear relevant flags */ + clp->have_arg = 0; + clp->arg = 0; + cli->could_be_short = 0; + + /* if we're in a string of short options, move up one char in the string */ + if (cli->is_short) { + ++cli->text; + if (cli->text[0] == 0) + cli->is_short = 0; + else if (want_argument > 0) { + /* handle -O[=]argument case */ + clp->have_arg = 1; + if (cli->text[0] == '=') + clp->arg = cli->text + 1; + else + clp->arg = cli->text; + cli->is_short = 0; + return 0; + } + } + + /* if in short options, we're all set */ + if (cli->is_short) + return 1; + + /** if not in short options, move to the next argument **/ + cli->whole_negated = 0; + cli->text = 0; + + if (cli->argc <= 1) + return 0; + + cli->argc--; + cli->argv++; + text = cli->argv[0]; + + if (want_argument > 1) + goto not_option; + + option_class = cli->option_class[(unsigned char)text[0]]; + if (text[0] == '-' && text[1] == '-') + option_class = Clp_DoubledLong; + + /* If this character could introduce either a short or a long option, + try a long option first, but remember that short's a possibility for + later. */ + if ((option_class & (Clp_Short | Clp_ShortNegated)) + && (option_class & (Clp_Long | Clp_LongNegated))) { + option_class &= ~(Clp_Short | Clp_ShortNegated); + if (text[1] != 0) + cli->could_be_short = 1; + } + + switch (option_class) { + + case Clp_Short: + cli->is_short = 1; + goto check_singleton; + + case Clp_ShortNegated: + cli->is_short = 1; + cli->whole_negated = 1; + goto check_singleton; + + case Clp_Long: + goto check_singleton; + + case Clp_LongNegated: + cli->whole_negated = 1; + goto check_singleton; + + check_singleton: + /* For options introduced with one character, option-char, + '[option-char]' alone is NOT an option. */ + if (text[1] == 0) + goto not_option; + set_option_text(cli, text, 1); + break; + + case Clp_LongImplicit: + /* LongImplict: option_chars == "" (since all chars are part of the + option); restore head -> text of option */ + if (want_argument > 0) + goto not_option; + set_option_text(cli, text, 0); + break; + + case Clp_DoubledLong: + set_option_text(cli, text, 2); + break; + + not_option: + case Clp_NotOption: + cli->is_short = 0; + clp->have_arg = 1; + clp->arg = text; + return 0; + + default: + assert(0 /* CLP misconfiguration: bad option type */); + + } + + return 1; +} + + +static void +switch_to_short_argument(Clp_Parser *clp) +{ + Clp_Internal *cli = clp->internal; + const char *text = cli->argv[0]; + int option_class = cli->option_class[(unsigned char)text[0]]; + cli->is_short = 1; + cli->whole_negated = (option_class & Clp_ShortNegated ? 1 : 0); + set_option_text(cli, cli->argv[0], 1); + assert(cli->could_be_short); +} + + +static Clp_Option * +find_long(Clp_Parser *clp, const char *arg) + /* If arg corresponds to one of clp's options, finds that option & + returns it. If any argument is given after an = sign in arg, sets + clp->have_arg = 1 and clp->arg to that argument. Sets cli->ambiguous + to 1 iff there was no match because the argument was ambiguous. */ +{ + Clp_Internal *cli = clp->internal; + int value, len, min_match; + Clp_Option *opt = cli->opt; + int first_negative_ambiguous; + + /* Look for a normal option. */ + value = find_prefix_opt + (arg, cli->nopt, opt, cli->long_min_match, + &cli->ambiguous, cli->ambiguous_values, clp->negated); + if (value >= 0) + goto worked; + + /* If we can't find it, look for a negated option. */ + /* I know this is silly, but it makes me happy to accept + --no-no-option as a double negative synonym for --option. :) */ + first_negative_ambiguous = cli->ambiguous; + while (arg[0] == 'n' && arg[1] == 'o' && arg[2] == '-') { + arg += 3; + clp->negated = !clp->negated; + value = find_prefix_opt + (arg, cli->nopt, opt, cli->long_min_match, + &cli->ambiguous, cli->ambiguous_values, clp->negated); + if (value >= 0) + goto worked; + } + + /* No valid option was found; return 0. Mark the ambiguous values found + through '--no' by making them negative. */ + { + int i, max = cli->ambiguous; + if (max > MAX_AMBIGUOUS_VALUES) max = MAX_AMBIGUOUS_VALUES; + for (i = first_negative_ambiguous; i < max; i++) + cli->ambiguous_values[i] = -cli->ambiguous_values[i] - 1; + } + return 0; + + worked: + min_match = (clp->negated ? cli->long_min_match[value].neg : cli->long_min_match[value].pos); + len = argcmp(opt[value].long_name, arg, min_match, 1); /* XXX 1? */ + assert(len > 0); + if (arg[len] == '=') { + clp->have_arg = 1; + clp->arg = arg + len + 1; + } + return &opt[value]; +} + + +static Clp_Option * +find_short(Clp_Parser *clp, int short_name) + /* If short_name corresponds to one of clp's options, returns it. */ +{ + Clp_Internal *cli = clp->internal; + Clp_Option *opt = cli->opt; + int i; + + for (i = 0; i < cli->nopt; i++) + if (opt[i].short_name == short_name + && (clp->negated + ? TEST(&opt[i], Clp_Negate) + : !TEST(&opt[i], Clp_OnlyNegated))) + return &opt[i]; + + return 0; +} + + +int +Clp_Next(Clp_Parser *clp) + /* Gets and parses the next argument from the argument list. + + If there are no more arguments, returns Clp_Done. + If the next argument isn't an option, returns Clp_NotOption; + the argument is stored in clp->arg. + If the next argument is an option, returns that option's option_id. + + If the next argument is an unrecognizable or ambiguous option, + an error message is given and Clp_BadOption is returned. + + If an option has an argument, that argument is stored in clp->arg + and clp->have_arg is set to 1. + Furthermore, that argument's parsed value (according to its type) + is stored in the clp->val union. + + If an option needs an argument but isn't given one; + if it doesn't need an argument but IS given one; + or if the argument is the wrong type, + an error message is given and Clp_BadOption is returned. */ +{ + Clp_Internal *cli = clp->internal; + Clp_Option *opt; + Clp_ParserState clpsave; + int complain; + + /** Set up clp **/ + cli->current_option = 0; + cli->ambiguous = 0; + + /** Get the next argument or option **/ + if (!next_argument(clp, cli->option_processing ? 0 : 2)) + return clp->have_arg ? Clp_NotOption : Clp_Done; + + clp->negated = cli->whole_negated; + if (cli->is_short) + opt = find_short(clp, cli->text[0]); + else + opt = find_long(clp, cli->text); + + /** If there's ambiguity between long & short options, and we couldn't + find a long option, look for a short option **/ + if (!opt && cli->could_be_short) { + switch_to_short_argument(clp); + opt = find_short(clp, cli->text[0]); + } + + /** If we didn't find an option... **/ + if (!opt || (clp->negated && !TEST(opt, Clp_Negate))) { + + /* default processing for the "--" option: turn off option processing + and return the next argument */ + if (strcmp(cli->argv[0], "--") == 0) { + Clp_SetOptionProcessing(clp, 0); + return Clp_Next(clp); + } + + /* otherwise, report some error or other */ + if (cli->ambiguous) + ambiguity_error(clp, cli->ambiguous, cli->ambiguous_values, + cli->opt, cli->option_chars, + "option '%s%s' is ambiguous", + cli->option_chars, cli->text); + else if (cli->is_short && !cli->could_be_short) + Clp_OptionError(clp, "unrecognized option '%s%c'", + cli->option_chars, cli->text[0]); + else + Clp_OptionError(clp, "unrecognized option '%s%s'", + cli->option_chars, cli->text); + return Clp_BadOption; + } + + /** Set the current option **/ + cli->current_option = opt; + cli->current_short = cli->is_short; + cli->negated_by_no = clp->negated && !cli->whole_negated; + + /** The no-argument (or should-have-no-argument) case **/ + if (clp->negated || !TEST(opt, Clp_AnyArgument)) { + if (clp->have_arg) { + Clp_OptionError(clp, "'%O' can't take an argument"); + return Clp_BadOption; + } else + return opt->option_id; + } + + /** Get an argument if we need one, or if it's optional **/ + /* Sanity-check the argument type. */ + if (opt->arg_type <= 0 || opt->arg_type >= cli->nargtype + || cli->argtype[ opt->arg_type ].func == 0) + return Clp_Error; + + /* complain == 1 only if the argument was explicitly given, + or it is mandatory. */ + complain = (clp->have_arg != 0) || TEST(opt, Clp_Mandatory); + Clp_SaveParser(clp, &clpsave); + + if (TEST(opt, Clp_Mandatory) && !clp->have_arg) { + /* Mandatory argument case */ + /* Allow arguments to options to start with a dash, but only if the + argument type allows it by not setting Clp_DisallowOptions */ + int disallow = TEST(&cli->argtype[opt->arg_type], Clp_DisallowOptions); + next_argument(clp, disallow ? 1 : 2); + if (!clp->have_arg) { + int got_option = cli->text != 0; + Clp_RestoreParser(clp, &clpsave); + if (got_option) + Clp_OptionError(clp, "'%O' requires a non-option argument"); + else + Clp_OptionError(clp, "'%O' requires an argument"); + return Clp_BadOption; + } + + } else if (cli->is_short && !clp->have_arg && cli->text[1] != 0) + /* The -[option]argument case: + Assume that the rest of the current string is the argument. */ + next_argument(clp, 1); + + /** Parse the argument **/ + if (clp->have_arg) { + Clp_ArgType *atr = &cli->argtype[ opt->arg_type ]; + if (atr->func(clp, clp->arg, complain, atr->thunk) <= 0) { + /* parser failed */ + clp->have_arg = 0; + if (TEST(opt, Clp_Mandatory)) + return Clp_BadOption; + else + Clp_RestoreParser(clp, &clpsave); + } + } + + return opt->option_id; +} + + +const char * +Clp_Shift(Clp_Parser *clp, int allow_dashes) + /* Returns the next argument from the argument list without parsing it. + If there are no more arguments, returns 0. */ +{ + Clp_ParserState clpsave; + Clp_SaveParser(clp, &clpsave); + next_argument(clp, allow_dashes ? 2 : 1); + if (!clp->have_arg) + Clp_RestoreParser(clp, &clpsave); + return clp->arg; +} + + +/******* + * Clp_OptionError + **/ + +typedef struct Clp_BuildString { + char *text; + char *pos; + int capacity; + int bad; +} Clp_BuildString; + +static Clp_BuildString * +new_build_string(void) +{ + Clp_BuildString *bs = (Clp_BuildString *)malloc(sizeof(Clp_BuildString)); + if (!bs) goto bad; + bs->text = (char *)malloc(256); + if (!bs->text) goto bad; + bs->pos = bs->text; + bs->capacity = 256; + bs->bad = 0; + return bs; + + bad: + if (bs) free(bs); + return 0; +} + +static void +free_build_string(Clp_BuildString *bs) +{ + if (bs) free(bs->text); + free(bs); +} + +static int +grow_build_string(Clp_BuildString *bs, int want) +{ + char *new_text; + int ipos = bs->pos - bs->text; + int new_capacity = bs->capacity; + while (want >= new_capacity) + new_capacity *= 2; + new_text = (char *)realloc(bs->text, new_capacity); + if (!new_text) { + bs->bad = 1; + return 0; + } else { + bs->text = new_text; + bs->pos = bs->text + ipos; + bs->capacity = new_capacity; + return 1; + } +} + +#define ENSURE_BUILD_STRING(bs, space) \ + ((((bs)->pos - (bs)->text) + (space) >= (bs)->capacity) \ + || grow_build_string((bs), ((bs)->pos - (bs)->text) + (space))) + +static void +append_build_string(Clp_BuildString *bs, const char *s, int l) +{ + if (l < 0) + l = strlen(s); + if (ENSURE_BUILD_STRING(bs, l)) { + memcpy(bs->pos, s, l); + bs->pos += l; + } +} + + +static Clp_BuildString * +Clp_VaOptionError(Clp_Parser *clp, Clp_BuildString *bs, + const char *fmt, va_list val) + /* Reports an error for parser clp. Allowable % format characters are: + + s Print a string from the argument list. + c Print an int from the argument list as a character. + d Print an int from the argument list. + O Print the name of the current option; + take nothing from the argument list. + + No field specifications or flags are allowed. Always returns 0. */ +{ + Clp_Internal *cli = clp->internal; + const char *percent; + + if (!bs) + bs = new_build_string(); + if (!bs) + return 0; + append_build_string(bs, cli->program_name, -1); + append_build_string(bs, ": ", 2); + + for (percent = strchr(fmt, '%'); percent; percent = strchr(fmt, '%')) { + append_build_string(bs, fmt, percent - fmt); + switch (*++percent) { + + case 's': { + char *s = va_arg(val, char *); + if (s) append_build_string(bs, s, -1); + else append_build_string(bs, "(null)", 6); + break; + } + + case 'c': { + int c = va_arg(val, int); + if (ENSURE_BUILD_STRING(bs, 4)) { + if (c >= 32 && c <= 126) + *bs->pos++ = c; + else if (c < 32) { + *bs->pos++ = '^'; + *bs->pos++ = c + 64; + } else { + sprintf(bs->pos, "\\%03o", c); + bs->pos += 4; + } + } + break; + } + + case 'd': { + int d = va_arg(val, int); + if (ENSURE_BUILD_STRING(bs, 32)) { + sprintf(bs->pos, "%d", d); + bs->pos = strchr(bs->pos, 0); + } + break; + } + + case 'O': { + Clp_Option *opt = cli->current_option; + if (!opt) + append_build_string(bs, "(no current option!)", -1); + else if (cli->current_short) { + append_build_string(bs, cli->option_chars, -1); + if (ENSURE_BUILD_STRING(bs, 1)) + *bs->pos++ = opt->short_name; + } else if (cli->negated_by_no) { + append_build_string(bs, cli->option_chars, -1); + append_build_string(bs, "no-", 3); + append_build_string(bs, opt->long_name, -1); + } else { + append_build_string(bs, cli->option_chars, -1); + append_build_string(bs, opt->long_name, -1); + } + break; + } + + case '%': + if (ENSURE_BUILD_STRING(bs, 1)) + *bs->pos++ = '%'; + break; + + default: + if (ENSURE_BUILD_STRING(bs, 2)) { + *bs->pos++ = '%'; + *bs->pos++ = *percent; + } + break; + + } + fmt = ++percent; + } + + append_build_string(bs, fmt, -1); + append_build_string(bs, "\n", 1); + + return bs; +} + +static void +do_error(Clp_Parser *clp, Clp_BuildString *bs) +{ + const char *text; + if (bs && !bs->bad) { + *bs->pos = 0; + text = bs->text; + } else + text = "out of memory\n"; + + if (clp->internal->error_handler != 0) + (*clp->internal->error_handler)(text); + else + fputs(text, stderr); +} + +int +Clp_OptionError(Clp_Parser *clp, const char *fmt, ...) +{ + Clp_BuildString *bs; + va_list val; + va_start(val, fmt); + bs = Clp_VaOptionError(clp, 0, fmt, val); + va_end(val); + do_error(clp, bs); + free_build_string(bs); + return 0; +} + +static int +ambiguity_error(Clp_Parser *clp, int ambiguous, int *ambiguous_values, + Clp_Option *opt, const char *prefix, + const char *fmt, ...) +{ + Clp_BuildString *bs; + int i; + va_list val; + va_start(val, fmt); + bs = Clp_VaOptionError(clp, 0, fmt, val); + if (!bs) goto done; + + append_build_string(bs, clp->internal->program_name, -1); + append_build_string(bs, ": (Possibilities are", -1); + + for (i = 0; i < ambiguous && i < MAX_AMBIGUOUS_VALUES; i++) { + int value = ambiguous_values[i]; + const char *no_dash = ""; + if (value < 0) + value = -(value + 1), no_dash = "no-"; + if (i == 0) + append_build_string(bs, " ", 1); + else if (i == ambiguous - 1) + append_build_string(bs, (i == 1 ? " and " : ", and "), -1); + else + append_build_string(bs, ", ", 2); + append_build_string(bs, prefix, -1); + append_build_string(bs, no_dash, -1); + append_build_string(bs, opt[value].long_name, -1); + } + + if (ambiguous > MAX_AMBIGUOUS_VALUES) + append_build_string(bs, ", and others", -1); + append_build_string(bs, ".)\n", -1); + va_end(val); + + done: + do_error(clp, bs); + free_build_string(bs); + return 0; +} + +static int +copy_string(char *buf, int buflen, int bufpos, const char *what) +{ + int l = strlen(what); + if (l > buflen - bufpos - 1) + l = buflen - bufpos - 1; + memcpy(buf + bufpos, what, l); + return l; +} + +int +Clp_CurOptionNameBuf(Clp_Parser *clp, char *buf, int buflen) +{ + Clp_Internal *cli = clp->internal; + Clp_Option *opt = cli->current_option; + int pos = 0; + if (!opt) + pos += copy_string(buf, buflen, pos, "(no current option!)"); + else if (cli->current_short) { + pos += copy_string(buf, buflen, pos, cli->option_chars); + if (pos < buflen - 1) + buf[pos++] = opt->short_name; + } else if (cli->negated_by_no) { + pos += copy_string(buf, buflen, pos, cli->option_chars); + pos += copy_string(buf, buflen, pos, "no-"); + pos += copy_string(buf, buflen, pos, opt->long_name); + } else { + pos += copy_string(buf, buflen, pos, cli->option_chars); + pos += copy_string(buf, buflen, pos, opt->long_name); + } + buf[pos] = 0; + return pos; +} + +const char * +Clp_CurOptionName(Clp_Parser *clp) +{ + static char buf[256]; + Clp_CurOptionNameBuf(clp, buf, 256); + return buf; +} + +#ifdef __cplusplus +} +#endif diff --git a/Build/source/utils/t1utils/t1utils-1.34/config.h.in b/Build/source/utils/t1utils/t1utils-1.34/config.h.in new file mode 100644 index 00000000000..de6da2e0e1a --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/config.h.in @@ -0,0 +1,98 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +#ifndef T1UTILS_CONFIG_H +#define T1UTILS_CONFIG_H + +/* Define if intXX_t types are not available. */ +#undef HAVE_FAKE_INT_TYPES + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if the system has the type `uintptr_t'. */ +#undef HAVE_UINTPTR_T + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define if you have u_intXX_t types but not uintXX_t types. */ +#undef HAVE_U_INT_TYPES + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* The size of `unsigned int', as computed by sizeof. */ +#undef SIZEOF_UNSIGNED_INT + +/* The size of `unsigned long', as computed by sizeof. */ +#undef SIZEOF_UNSIGNED_LONG + +/* The size of `void *', as computed by sizeof. */ +#undef SIZEOF_VOID_P + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Prototype strerror if we don't have it. */ +#if !HAVE_STRERROR +char *strerror(int errno); +#endif + +#ifdef __cplusplus +} +/* Get rid of a possible inline macro under C++. */ +# define inline inline +#endif + +#endif /* T1UTILS_CONFIG_H */ diff --git a/Build/source/utils/t1utils/t1utils-1.34/configure b/Build/source/utils/t1utils/t1utils-1.34/configure new file mode 100755 index 00000000000..836f4f13971 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/configure @@ -0,0 +1,7291 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="t1ascii.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +am__isrc +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +LIBOBJS +CPP +GREP +EGREP +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +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 this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-warnings compile with -Wall + --enable-multiplatform put executables into bin/PLATFORM and libraries into + lib/PLATFORM + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +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 $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +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 + + +am__api_version='1.10' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +echo "${ECHO_T}$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=t1utils + VERSION=1.34 + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + +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 +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +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 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +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 +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + + +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then + enableval=$enable_warnings; if test "$enableval" = yes ; then + CFLAGS="$CFLAGS -W -Wall" +fi +fi + + + + + +for ac_func in strerror +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* 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 $ac_func (); +/* 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_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + case " $LIBOBJS " in + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + ;; +esac + +fi +done + + + + + +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 +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +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 + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in inttypes.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + have_inttypes_h=yes +else + have_inttypes_h=no +fi + +done + + +for ac_header in sys/types.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 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 + { echo "$as_me:$LINENO: checking for uintXX_t typedefs" >&5 +echo $ECHO_N "checking for uintXX_t typedefs... $ECHO_C" >&6; } +if test "${ac_cv_uint_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +{ echo "$as_me:$LINENO: result: $ac_cv_uint_t" >&5 +echo "${ECHO_T}$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 + { echo "$as_me:$LINENO: checking for u_intXX_t typedefs" >&5 +echo $ECHO_N "checking for u_intXX_t typedefs... $ECHO_C" >&6; } +if test "${ac_cv_u_int_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_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 +{ echo "$as_me:$LINENO: result: $ac_cv_u_int_t" >&5 +echo "${ECHO_T}$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 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_U_INT_TYPES 1 +_ACEOF + +else + { echo "$as_me:$LINENO: WARNING: +========================================= + +Neither uint32_t nor u_int32_t defined by or ! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. + +=========================================" >&5 +echo "$as_me: WARNING: +========================================= + +Neither uint32_t nor u_int32_t defined by or ! +Assuming \"short\" has 16 bits and \"int\" has 32 bits. + +=========================================" >&2;} + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FAKE_INT_TYPES 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for uintptr_t" >&5 +echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6; } +if test "${ac_cv_type_uintptr_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if HAVE_INTTYPES_H +# include +#endif +#if HAVE_SYS_TYPES_H +# include +#endif + + +typedef uintptr_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_uintptr_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_uintptr_t=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5 +echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6; } +if test $ac_cv_type_uintptr_t = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_UINTPTR_T 1 +_ACEOF + + +fi + + +{ echo "$as_me:$LINENO: checking for void *" >&5 +echo $ECHO_N "checking for void *... $ECHO_C" >&6; } +if test "${ac_cv_type_void_p+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef void * ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_void_p=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_void_p=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5 +echo "${ECHO_T}$ac_cv_type_void_p" >&6; } + +# 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. +{ echo "$as_me:$LINENO: checking size of void *" >&5 +echo $ECHO_N "checking size of void *... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_void_p+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_void_p=$ac_lo;; +'') if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef void * ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_void_p=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 +echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOID_P $ac_cv_sizeof_void_p +_ACEOF + + +{ echo "$as_me:$LINENO: checking for unsigned long" >&5 +echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6; } +if test "${ac_cv_type_unsigned_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef unsigned long ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_unsigned_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_unsigned_long=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long" >&5 +echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6; } + +# 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. +{ echo "$as_me:$LINENO: checking size of unsigned long" >&5 +echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_unsigned_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_unsigned_long=$ac_lo;; +'') if test "$ac_cv_type_unsigned_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_long=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_unsigned_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long=0 + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5 +echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long +_ACEOF + + +{ echo "$as_me:$LINENO: checking for unsigned int" >&5 +echo $ECHO_N "checking for unsigned int... $ECHO_C" >&6; } +if test "${ac_cv_type_unsigned_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef unsigned int ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_unsigned_int=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_unsigned_int=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_int" >&5 +echo "${ECHO_T}$ac_cv_type_unsigned_int" >&6; } + +# 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. +{ echo "$as_me:$LINENO: checking size of unsigned int" >&5 +echo $ECHO_N "checking size of unsigned int... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_unsigned_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_unsigned_int=$ac_lo;; +'') if test "$ac_cv_type_unsigned_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_int=`cat conftest.val` +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_unsigned_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5 +echo "${ECHO_T}$ac_cv_sizeof_unsigned_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int +_ACEOF + + + + + + + + + + + + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Check whether --enable-multiplatform was given. +if test "${enable_multiplatform+set}" = set; then + enableval=$enable_multiplatform; +fi + +if test "x$enable_multiplatform" = xyes; then + test "x$bindir" = 'x${exec_prefix}/bin' && bindir="$bindir/$host" + test "x$libdir" = 'x${exec_prefix}/lib' && libdir="$libdir/$host" +fi + + + +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +am__isrc!$am__isrc$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/Build/source/utils/t1utils/t1utils-1.34/configure.in b/Build/source/utils/t1utils/t1utils-1.34/configure.in new file mode 100644 index 00000000000..113ff2cdb8f --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/configure.in @@ -0,0 +1,118 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(t1ascii.c) +AM_INIT_AUTOMAKE(t1utils, 1.34) +AM_CONFIG_HEADER(config.h) +AM_MAINTAINER_MODE + +AC_PROG_CC +AC_C_CONST + +AC_ARG_ENABLE(warnings, +[ --enable-warnings compile with -Wall], +if test "$enableval" = yes ; then + CFLAGS="$CFLAGS -W -Wall" +fi) + + +dnl +dnl strerror()? +dnl + +AC_REPLACE_FUNCS(strerror) + + +dnl +dnl integer types +dnl + +AC_CHECK_HEADERS(inttypes.h, have_inttypes_h=yes, have_inttypes_h=no) +AC_CHECK_HEADERS(sys/types.h, have_sys_types_h=yes, have_sys_types_h=no) + +if test $have_inttypes_h = no -a $have_sys_types_h = yes; then + AC_CACHE_CHECK([for uintXX_t typedefs], ac_cv_uint_t, + [AC_EGREP_HEADER(dnl +changequote(<<,>>)<<(^|[^a-zA-Z_0-9])uint32_t[^a-zA-Z_0-9]>>changequote([,]), + sys/types.h, ac_cv_uint_t=yes, ac_cv_uint_t=no)]) +fi +if test $have_inttypes_h = no -a $have_sys_types_h = yes -a "$ac_cv_uint_t" = no; then + AC_CACHE_CHECK([for u_intXX_t typedefs], ac_cv_u_int_t, + [AC_EGREP_HEADER(dnl +changequote(<<,>>)<<(^|[^a-zA-Z_0-9])u_int32_t[^a-zA-Z_0-9]>>changequote([,]), + sys/types.h, ac_cv_u_int_t=yes, ac_cv_u_int_t=no)]) +fi +if test $have_inttypes_h = yes -o "$ac_cv_uint_t" = yes; then + : +elif test "$ac_cv_u_int_t" = yes; then + AC_DEFINE(HAVE_U_INT_TYPES, 1, [Define if you have u_intXX_t types but not uintXX_t types.]) +else + AC_MSG_WARN([ +========================================= + +Neither uint32_t nor u_int32_t defined by or ! +Assuming "short" has 16 bits and "int" has 32 bits. + +=========================================]) + AC_DEFINE(HAVE_FAKE_INT_TYPES, 1, [Define if intXX_t types are not available.]) +fi + +AC_CHECK_TYPES(uintptr_t, [], [], +[#if HAVE_INTTYPES_H +# include +#endif +#if HAVE_SYS_TYPES_H +# include +#endif +]) + +AC_CHECK_SIZEOF(void *) +AC_CHECK_SIZEOF(unsigned long) +AC_CHECK_SIZEOF(unsigned int) + + +dnl +dnl verbatim portions of the header +dnl + +AH_TOP([#ifndef T1UTILS_CONFIG_H +#define T1UTILS_CONFIG_H]) + +AH_BOTTOM([#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Prototype strerror if we don't have it. */ +#if !HAVE_STRERROR +char *strerror(int errno); +#endif + +#ifdef __cplusplus +} +/* Get rid of a possible inline macro under C++. */ +# define inline inline +#endif + +#endif /* T1UTILS_CONFIG_H */]) + + +dnl +dnl Multiplatform output directories (for teTeX and TeX Live) +dnl + +AC_CANONICAL_HOST +AC_ARG_ENABLE([multiplatform], + [AS_HELP_STRING([--enable-multiplatform], + [put executables into bin/PLATFORM and libraries into lib/PLATFORM])]) +if test "x$enable_multiplatform" = xyes; then + test "x$bindir" = 'x${exec_prefix}/bin' && bindir="$bindir/$host" + test "x$libdir" = 'x${exec_prefix}/lib' && libdir="$libdir/$host" +fi + + +dnl +dnl Output +dnl + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/clp.h b/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/clp.h new file mode 100644 index 00000000000..2126aacbf9c --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/clp.h @@ -0,0 +1,167 @@ +/* -*- related-file-name: "../../liblcdf/clp.c" -*- */ +#ifndef LCDF_CLP_H +#define LCDF_CLP_H +#ifdef __cplusplus +extern "C" { +#endif + +/* clp.h - Public interface to CLP. + * This file is part of CLP, the command line parser package. + * + * Copyright (c) 1997-2005 Eddie Kohler, kohler@icir.org + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, subject to the conditions + * listed in the Click LICENSE file, which is available in full at + * http://www.pdos.lcs.mit.edu/click/license.html. The conditions include: you + * must preserve this copyright notice, and you cannot mention the copyright + * holders in advertising related to the Software without their permission. + * The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This + * notice is a summary of the Click LICENSE file; the license in that file is + * legally binding. */ + + +/* Argument types */ +#define Clp_NoArg 0 +#define Clp_ArgString 1 +#define Clp_ArgStringNotOption 2 +#define Clp_ArgBool 3 +#define Clp_ArgInt 4 +#define Clp_ArgUnsigned 5 +#define Clp_ArgDouble 6 + +#define Clp_FirstUserType 10 + +/* Flags for individual Clp_Options */ +#define Clp_Mandatory (1<<0) /* Has mandatory argument */ +#define Clp_Optional (1<<1) /* Has optional argument */ +#define Clp_Negate (1<<2) /* Allow --no-OPT */ +#define Clp_OnlyNegated (1<<3) /* Allow --no-OPT, but not --OPT */ +#define Clp_PreferredMatch (1<<4) /* Prefer --OPT to --OPTwhatever */ + /* when matching option prefixes */ + +struct Clp_Option { + const char *long_name; /* e.g. "version" */ + int short_name; /* e.g. 'v' */ + int option_id; /* number returned by Clp_Next */ + int arg_type; /* e.g. Clp_ArgBool */ + int flags; /* e.g. Clp_Optional | Clp_Negate */ +}; + + +/* Sizes of clp->val */ +#define Clp_ValSize 40 +#define Clp_ValIntSize 10 + +typedef struct Clp_Option Clp_Option; +typedef struct Clp_Parser Clp_Parser; +typedef struct Clp_Internal Clp_Internal; +typedef struct Clp_ParserState Clp_ParserState; +typedef struct Clp_Argv Clp_Argv; + +typedef int (*Clp_ArgParseFunc)(Clp_Parser *, const char *, int, void *); +typedef void (*Clp_ErrorHandler)(const char *); + +struct Clp_Parser { + + int negated; + + int have_arg; + const char *arg; + + union { + int i; + unsigned u; + double d; + const char *s; + void *pv; +#ifdef HAVE_INT64_TYPES + int64_t i64; + uint64_t u64; +#endif + char cs[Clp_ValSize]; + unsigned char ucs[Clp_ValSize]; + int is[Clp_ValIntSize]; + unsigned us[Clp_ValIntSize]; + } val; + + Clp_Internal *internal; + +}; + + +Clp_Parser * Clp_NewParser(int argc, const char * const *argv, + int nopt, Clp_Option *opt); +void Clp_DeleteParser(Clp_Parser *); + +Clp_ErrorHandler Clp_SetErrorHandler(Clp_Parser *, Clp_ErrorHandler); + +const char * Clp_ProgramName(Clp_Parser *); +void Clp_SetProgramName(Clp_Parser *, const char *); + + +struct Clp_Argv { + int argc; + char **argv; + char *argv_buf; +}; + +Clp_Argv * Clp_NewArgv(const char *args, int len); +void Clp_DeleteArgv(Clp_Argv *); + + +/* Option types for Clp_SetOptionChar */ +/* Clp_NotOption 0 */ +#define Clp_Short (1<<0) +#define Clp_Long (1<<1) +#define Clp_ShortNegated (1<<2) +#define Clp_LongNegated (1<<3) +#define Clp_LongImplicit (1<<4) + +int Clp_SetOptionChar(Clp_Parser *, int c, int option_type); + + +/* Argument type flags for Clp_AddType */ +#define Clp_DisallowOptions (1<<0) /* No option-looking args */ + +int Clp_AddType + (Clp_Parser *, int type_id, int flags, + Clp_ArgParseFunc func, void *user_data); + + +/* Flags for Clp_AddStringListType */ +#define Clp_AllowNumbers (1<<0) /* Number args OK */ + +int Clp_AddStringListType + (Clp_Parser *, int type_id, int flags, ...); +int Clp_AddStringListTypeVec + (Clp_Parser *, int type_id, int flags, + int n, char **str, int *val); + + +/* Return values from Clp_Next */ +#define Clp_NotOption 0 +#define Clp_Done -1 +#define Clp_BadOption -2 +#define Clp_Error -3 + +int Clp_Next(Clp_Parser *); + + +const char * Clp_Shift(Clp_Parser *, int allow_dashes); +int Clp_SetOptionProcessing(Clp_Parser *, int option_processing); + +Clp_ParserState *Clp_NewParserState(void); +void Clp_DeleteParserState(Clp_ParserState *); +void Clp_SaveParser(Clp_Parser *, Clp_ParserState *); +void Clp_RestoreParser(Clp_Parser *, Clp_ParserState *); + +int Clp_OptionError(Clp_Parser *, const char *, ...); +int Clp_CurOptionNameBuf(Clp_Parser *, char *buf, int buflen); +const char * Clp_CurOptionName(Clp_Parser *); /* uses static memory */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/inttypes.h b/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/inttypes.h new file mode 100644 index 00000000000..b88e9e9faf0 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/include/lcdf/inttypes.h @@ -0,0 +1,34 @@ +#ifndef LCDF_INTTYPES_H +#define LCDF_INTTYPES_H +/* Define known-width integer types. */ + +#ifdef HAVE_INTTYPES_H +# include +#elif defined(HAVE_SYS_TYPES_H) +# include +# ifdef HAVE_U_INT_TYPES +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; +# endif +#endif + +#ifdef HAVE_FAKE_INT_TYPES +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +#endif + +#ifndef HAVE_UINTPTR_T +# if SIZEOF_VOID_P == SIZEOF_UNSIGNED_INT +typedef unsigned int uintptr_t; +# elif SIZEOF_VOID_P == SIZEOF_UNSIGNED_LONG +typedef unsigned long uintptr_t; +# endif +#endif + +/* Note: Windows compilers call these types '[un]signed __int8', etc. */ +#endif diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1ascii.1 b/Build/source/utils/t1utils/t1utils-1.34/t1ascii.1 new file mode 100644 index 00000000000..7ce2da4ba2c --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1ascii.1 @@ -0,0 +1,51 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1ASCII 1 "" "Version \*V" +.SH NAME +t1ascii \- convert PostScript Type 1 font from binary to ASCII +.SH SYNOPSIS +.B t1ascii +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.BR t1ascii +converts Adobe Type 1 font programs in PFB (binary) format to PFA +(hexadecimal) format. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +' +.SH OPTIONS +.TP 5 +.BI \-\-line\-length= "num\fR, " \-l " num" +Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +' +.TP 5 +.BR \-\-warnings ", " \-w +Warn when the input font contains lines longer than 255 characters. +Long lines don't strictly conform to Adobe's Document Structuring +Conventions, and may cause problems with older software. +' +.SH "SEE ALSO" +.LP +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 , +.M t1asm 1 , +.M t1disasm 1 +.LP +.I "Adobe Type 1 Font Format" +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1ascii.c b/Build/source/utils/t1utils/t1utils-1.34/t1ascii.c new file mode 100644 index 00000000000..ae026279e26 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1ascii.c @@ -0,0 +1,306 @@ +/* t1ascii + * + * This program takes an Adobe Type-1 font program in binary (PFB) format and + * converts it to ASCII (PFA) format. + * + * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. + * + * I. Lee Hetherington (ilh@lcs.mit.edu) + * + * 1.5 and later versions contain changes by, and are maintained by, + * Eddie Kohler . + * + * New change log in `NEWS'. Old change log: + * + * Revision 1.2 92/06/23 10:58:43 ilh + * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) + * incoporated. + * + * Revision 1.1 92/05/22 11:47:24 ilh + * initial version + * + * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by + * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code + * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS + * ... #endif, where _MSDOS is an identifier, which is automatically + * defined, if you compile with the Microsoft C/C++ Compiler. + * + */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +static FILE *ofp; +static int line_length = 64; + + +/***** + * Command line + **/ + +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 +#define LINE_LEN_OPT 304 +#define WARNINGS_OPT 305 + +static Clp_Option options[] = { + { "help", 0, HELP_OPT, 0, 0 }, + { "line-length", 'l', LINE_LEN_OPT, Clp_ArgInt, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, + { "warnings", 'w', WARNINGS_OPT, 0, Clp_Negate } +}; +static const char *program_name; +static const char *ifp_filename = ""; +static int line_length_warning = -1; + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); +} + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + +static void +usage(void) +{ + printf("\ +`T1ascii' translates a PostScript Type 1 font from compact binary (PFB) to\n\ +ASCII (PFA) format. The result is written to the standard output unless an\n\ +OUTPUT file is given.\n\ +\n\ +Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +\n\ +Options:\n\ + -l, --line-length=NUM Set max encrypted line length (default 64).\n\ + -o, --output=FILE Write output to FILE.\n\ + -w, --warnings Warn on too-long lines.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + + +/***** + * PFA font_reader functions + **/ + +static int hexcol = 0; + +static void +pfa_output_ascii(char *data, int len) +{ + if (hexcol) { + putc('\n', ofp); + hexcol = 0; + } + if (line_length_warning == 0 && len > 256) { + line_length_warning = 1; + fprintf(stderr, "%s: warning: %s has lines longer than 255 characters\n%s: (This may cause problems with older printers.)\n", program_name, ifp_filename, program_name); + } + fputs(data, ofp); + if (len && data[len - 1] != '\n') { + int p = len - 2; + while (p > 0 && data[p] != '\n') + p--; + hexcol = (p ? len - p - 1 : hexcol + len); + } +} + +static void +pfa_output_binary(unsigned char *data, int len) +{ + static const char *hexchar = "0123456789abcdef"; + for (; len > 0; len--, data++) { + /* trim hexadecimal lines to line_length columns */ + if (hexcol >= line_length) { + putc('\n', ofp); + hexcol = 0; + } + putc(hexchar[(*data >> 4) & 0xf], ofp); + putc(hexchar[*data & 0xf], ofp); + hexcol += 2; + } +} + +static void +pfa_output_end(void) +{ +} + +#ifdef __cplusplus +} +#endif + + +/***** + * main() + **/ + +int +main(int argc, char *argv[]) +{ + struct font_reader fr; + int c; + FILE *ifp = 0; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + case LINE_LEN_OPT: + line_length = clp->val.i; + if (line_length < 8) { + line_length = 8; + error("warning: line length raised to %d", line_length); + } else if (line_length > 1024) { + line_length = 1024; + error("warning: line length lowered to %d", line_length); + } + break; + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else { + ofp = fopen(clp->arg, "w"); + if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case WARNINGS_OPT: + line_length_warning = (clp->negated ? -1 : 0); + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1ascii (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) { + ifp_filename = ""; + ifp = stdin; + } else { + ifp_filename = clp->arg; + ifp = fopen(clp->arg, "rb"); + if (!ifp) + fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!ifp) + ifp = stdin; + if (!ofp) + ofp = stdout; + if (line_length > 255 && line_length_warning == 0) + fprintf(stderr, "%s: warning: selected --line-length is greater than 255\n", program_name); + +#if defined(_MSDOS) || defined(_WIN32) + /* As we are processing a PFB (binary) input */ + /* file, we must set its file mode to binary. */ + _setmode(_fileno(ifp), _O_BINARY); +#endif + + /* prepare font reader */ + fr.output_ascii = pfa_output_ascii; + fr.output_binary = pfa_output_binary; + fr.output_end = pfa_output_end; + + /* peek at first byte to see if it is the PFB marker 0x80 */ + c = getc(ifp); + ungetc(c, ifp); + + /* do the file */ + if (c == PFB_MARKER) + process_pfb(ifp, ifp_filename, &fr); + else if (c == '%') + process_pfa(ifp, ifp_filename, &fr); + else + fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); + + fclose(ifp); + fclose(ofp); + return 0; +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1asm.1 b/Build/source/utils/t1utils/t1utils-1.34/t1asm.1 new file mode 100644 index 00000000000..77b6381cf2c --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1asm.1 @@ -0,0 +1,96 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1ASM 1 "" "Version \*V" +.SH NAME +t1asm \- assemble PostScript Type 1 font +.SH SYNOPSIS +.B t1asm +\%[\fB\-a\fR|\fB\-b\fR] +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1asm +assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB +(binary) formats from a human-readable form. If the file +.I output +is not specified output goes to the standard output. If the file +.I input +is not specified input comes from the standard input. + +.B t1asm +tokenizes the charstring data and performs eexec and charstring encryption +as specified in the ``black book,'' +.I "Adobe Type 1 Font Format." + +The input must have a line of the form +.RS +.nf +.ft B +/-|{string currentfile exch readstring pop}executeonly def +.ft R +.fi +.RE +which defines the command, in this case `\-|', that is to start charstring +data. It is an error not to define such a command. Another common name for +this command is `RD'. + +After the start of the +.B Subrs +array in the input, all open braces `{' not in a comment begin a +charstring. Such a charstring is terminated by the next non-comment close +brace `}'. Within such a charstring, only comments, integers, and valid +charstring commands are allowed. Valid charstring command names can be +found in +.I "Adobe Type 1 Font Format" +and other documents describing the newer Type 2 opcodes. The format within +a charstring is unimportant as long as integers and commands are separated +by at least a one whitespace (space, tab, newline) character. Note that +within charstrings, comments are discarded because they cannot be encoded. +.SH OPTIONS +.TP 5 +.BR \-\-pfa ", " \-a +Output in PFA (ASCII) format. +.TP 5 +.BR \-\-pfb ", " \-b +Output in PFB (binary) format. This is the default. +.TP +.BI \-\-block\-length= "num\fR, " \-l " num" +PFB only: Set the maximum output block length to +.I num. +The default length is as large as memory allows. +.TP +.BI \-\-line\-length= "num\fR, " \-l " num" +PFA only: Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +.SH EXAMPLES +.LP +.nf +% t1asm Utopia-Regular.raw > Utopia-Regular.pfb +% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa +.fi +.SH "SEE ALSO" +.LP +.M t1disasm 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 +.LP +.I "Adobe Type 1 Font Format" +is available free from Adobe as a PDF file. +http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF +.LP +.I "The Type 2 Charstring Format," +also available from Adobe as a PDF file, describes the newer Type 2 +operators, which are also used in some multiple-master Type 1 fonts like +Adobe Jenson and Kepler. +http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf +' +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1asm.c b/Build/source/utils/t1utils/t1utils-1.34/t1asm.c new file mode 100644 index 00000000000..eeb12127a2a --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1asm.c @@ -0,0 +1,808 @@ +/* t1asm -*- c-basic-offset: 2 -*- + * + * This program `assembles' Adobe Type-1 font programs in pseudo-PostScript + * form into either PFB or PFA format. The human readable/editable input is + * charstring- and eexec-encrypted as specified in the `Adobe Type 1 Font + * Format' version 1.1 (the `black book'). There is a companion program, + * t1disasm, which `disassembles' PFB and PFA files into a pseudo-PostScript + * file. + * + * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. + * + * I. Lee Hetherington (ilh@lcs.mit.edu) + * + * 1.5 and later versions contain changes by, and are maintained by, + * Eddie Kohler . + * + * New change log in `NEWS'. Old change log: + * + * Revision 1.4 92/07/10 10:53:09 ilh + * Added support for additional PostScript after the closefile command + * (ie., some fonts have {restore}if after the cleartomark). + * + * Revision 1.3 92/06/23 10:58:25 ilh + * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) + * incoporated. + * + * Revision 1.2 92/05/22 11:54:45 ilh + * Fixed bug where integers larger than 32000 could not be encoded in + * charstrings. Now integer range is correct for four-byte + * twos-complement integers: -(1<<31) <= i <= (1<<31)-1. Bug detected by + * Piet Tutelaers (rcpt@urc.tue.nl). + * + * Revision 1.1 92/05/22 11:48:46 ilh + * initial version + * + * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by + * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code + * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS + * ... #endif, where _MSDOS is an identifier, which is automatically + * defined, if you compile with the Microsoft C/C++ Compiler. + * + */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#define LINESIZE 512 + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char byte; + +static FILE *ifp; +static FILE *ofp; +static struct pfb_writer w; +static int blocklen = -1; + +/* flags */ +static int pfb = 1; +static int active = 0; +static int ever_active = 0; +static int start_charstring = 0; +static int in_eexec = 0; + +/* need to add 1 as space for \0 */ +static char line[LINESIZE + 1]; + +/* lenIV and charstring start command */ +static int lenIV = 4; +static char cs_start[10]; + +/* for charstring buffering */ +static byte charstring_buf[65535]; +static byte *charstring_bp; + +/* decryption stuff */ +static uint16_t er, cr; +static uint16_t c1 = 52845, c2 = 22719; + +/* table of charstring commands */ +static struct command { + const char *name; + int one, two; +} command_table[] = { + { "abs", 12, 9 }, /* Type 2 */ + { "add", 12, 10 }, /* Type 2 */ + { "and", 12, 3 }, /* Type 2 */ + { "blend", 16, -1 }, /* Type 2 */ + { "callgsubr", 29, -1 }, /* Type 2 */ + { "callothersubr", 12, 16 }, /* Type 1 ONLY */ + { "callsubr", 10, -1 }, + { "closepath", 9, -1 }, /* Type 1 ONLY */ + { "cntrmask", 20, -1 }, /* Type 2 */ + { "div", 12, 12 }, + { "dotsection", 12, 0 }, /* Type 1 ONLY */ + { "drop", 12, 18 }, /* Type 2 */ + { "dup", 12, 27 }, /* Type 2 */ + { "endchar", 14, -1 }, + { "eq", 12, 15 }, /* Type 2 */ + { "error", 0, -1 }, /* special */ + { "escape", 12, -1 }, /* special */ + { "exch", 12, 28 }, /* Type 2 */ + { "flex", 12, 35 }, /* Type 2 */ + { "flex1", 12, 37 }, /* Type 2 */ + { "get", 12, 21 }, /* Type 2 */ + { "hflex", 12, 34 }, /* Type 2 */ + { "hflex1", 12, 36 }, /* Type 2 */ + { "hhcurveto", 27, -1 }, /* Type 2 */ + { "hintmask", 19, -1 }, /* Type 2 */ + { "hlineto", 6, -1 }, + { "hmoveto", 22, -1 }, + { "hsbw", 13, -1 }, /* Type 1 ONLY */ + { "hstem", 1, -1 }, + { "hstem3", 12, 2 }, /* Type 1 ONLY */ + { "hstemhm", 18, -1 }, /* Type 2 */ + { "hvcurveto", 31, -1 }, + { "ifelse", 12, 22 }, /* Type 2 */ + { "index", 12, 29 }, /* Type 2 */ + { "load", 12, 13 }, /* Type 2 */ + { "mul", 12, 24 }, /* Type 2 */ + { "neg", 12, 14 }, /* Type 2 */ + { "not", 12, 5 }, /* Type 2 */ + { "or", 12, 4 }, /* Type 2 */ + { "pop", 12, 17 }, /* Type 1 ONLY */ + { "put", 12, 20 }, /* Type 2 */ + { "random", 12, 23 }, /* Type 2 */ + { "rcurveline", 24, -1 }, /* Type 2 */ + { "return", 11, -1 }, + { "rlinecurve", 25, -1 }, /* Type 2 */ + { "rlineto", 5, -1 }, + { "rmoveto", 21, -1 }, + { "roll", 12, 30 }, /* Type 2 */ + { "rrcurveto", 8, -1 }, + { "sbw", 12, 7 }, /* Type 1 ONLY */ + { "seac", 12, 6 }, /* Type 1 ONLY */ + { "setcurrentpoint", 12, 33 }, /* Type 1 ONLY */ + { "sqrt", 12, 26 }, /* Type 2 */ + { "store", 12, 8 }, /* Type 2 */ + { "sub", 12, 11 }, /* Type 2 */ + { "vhcurveto", 30, -1 }, + { "vlineto", 7, -1 }, + { "vmoveto", 4, -1 }, + { "vstem", 3, -1 }, + { "vstem3", 12, 1 }, /* Type 1 ONLY */ + { "vstemhm", 23, -1 }, /* Type 2 */ + { "vvcurveto", 26, -1 }, /* Type 2 */ +}; /* alphabetical */ + +/* Two separate encryption functions because eexec and charstring encryption + must proceed in parallel. */ + +static byte eencrypt(byte plain) +{ + byte cipher; + + cipher = (byte)(plain ^ (er >> 8)); + er = (uint16_t)((cipher + er) * c1 + c2); + return cipher; +} + +static byte cencrypt(byte plain) +{ + byte cipher; + + /* Thanks to Tom Kacvinsky who reported that lenIV == -1 means + unencrypted charstrings. */ + if (lenIV < 0) return plain; + + cipher = (byte)(plain ^ (cr >> 8)); + cr = (uint16_t)((cipher + cr) * c1 + c2); + return cipher; +} + +/* This function outputs a single byte. If output is in PFB format then output + is buffered through blockbuf[]. If output is in PFA format, then output + will be hexadecimal if in_eexec is set, ASCII otherwise. */ + +static void output_byte(byte b) +{ + static const char *hexchar = "0123456789abcdef"; + static int hexcol = 0; + + if (pfb) { + /* PFB */ + PFB_OUTPUT_BYTE(&w, b); + } else { + /* PFA */ + if (in_eexec) { + /* trim hexadecimal lines to `blocklen' columns */ + if (hexcol >= blocklen) { + putc('\n', ofp); + hexcol = 0; + } + putc(hexchar[(b >> 4) & 0xf], ofp); + putc(hexchar[b & 0xf], ofp); + hexcol += 2; + } else { + putc(b, ofp); + } + } +} + +/* This function outputs a byte through possible eexec encryption. */ + +static void eexec_byte(byte b) +{ + if (in_eexec) + output_byte(eencrypt(b)); + else + output_byte(b); +} + +/* This function outputs a null-terminated string through possible eexec + encryption. */ + +static void eexec_string(const char *string) +{ + while (*string) + eexec_byte(*string++); +} + +/* This function gets ready for the eexec-encrypted data. If output is in + PFB format then flush current ASCII block and get ready for binary block. + We start encryption with four random (zero) bytes. */ + +static void eexec_start(char *string) +{ + eexec_string("currentfile eexec\n"); + if (pfb && w.blocktyp != PFB_BINARY) { + pfb_writer_output_block(&w); + w.blocktyp = PFB_BINARY; + } + + in_eexec = 1; + er = 55665; + eexec_byte(0); + eexec_byte(0); + eexec_byte(0); + eexec_byte(0); + eexec_string(string); +} + +/* 25.Aug.1999 -- Return 1 if this line actually looks like the start of a + charstring. We use the heuristic that it should start with `/' (a name) or + `dup' (a subroutine). Previous heuristic caused killa bad output. */ + +static int check_line_charstring(void) +{ + char *p = line; + while (isspace(*p)) + p++; + return (*p == '/' || (p[0] == 'd' && p[1] == 'u' && p[2] == 'p')); +} + +/* This function returns an input line of characters. A line is terminated by + length (including terminating null) greater than LINESIZE, \r, \n, \r\n, or + when active (looking for charstrings) by '{'. When terminated by a newline + the newline is put into line[]. When terminated by '{', the '{' is not put + into line[], and the flag start_charstring is set to 1. */ + +static void texlive_getline(void) +{ + int c; + char *p = line; + int comment = 0; + start_charstring = 0; + + while (p < line + LINESIZE) { + c = getc(ifp); + + if (c == EOF) + break; + else if (c == '%') + comment = 1; + else if (active && !comment && c == '{') { + /* 25.Aug.1999 -- new check for whether we should stop be active */ + if (check_line_charstring()) { + start_charstring = 1; + break; + } else + active = 0; + } + + *p++ = (char) c; + + /* end of line processing: change CR or CRLF into LF, and exit */ + if (c == '\r') { + c = getc(ifp); + if (c != '\n') + ungetc(c, ifp); + p[-1] = '\n'; + break; + } else if (c == '\n') + break; + } + + *p = '\0'; +} + +/* This function wraps-up the eexec-encrypted data and writes ASCII trailer. + If output is in PFB format then this entails flushing binary block and + starting an ASCII block. */ + +static void eexec_end(void) +{ + int i, j; + + if (!pfb) + putc('\n', ofp); + else if (w.blocktyp != PFB_ASCII) { + pfb_writer_output_block(&w); + w.blocktyp = PFB_ASCII; + } + + in_eexec = active = 0; + + for (i = 0; i < 8; i++) { + for (j = 0; j < 64; j++) + eexec_byte('0'); + eexec_byte('\n'); + } +} + +/* This function is used by the binary search, bsearch(), for command names in + the command table. */ + +static int CDECL command_compare(const void *key, const void *item) +{ + return strcmp((const char *) key, ((const struct command *) item)->name); +} + +/* This function returns 1 if the string is an integer and 0 otherwise. */ + +static int is_integer(char *string) +{ + if (isdigit(string[0]) || string[0] == '-' || string[0] == '+') { + while (*++string && isdigit(*string)) + ; /* deliberately empty */ + if (!*string) + return 1; + } + return 0; +} + +/* This function initializes charstring encryption. Note that this is called + at the beginning of every charstring. */ + +static void charstring_start(void) +{ + int i; + + charstring_bp = charstring_buf; + cr = 4330; + for (i = 0; i < lenIV; i++) + *charstring_bp++ = cencrypt((byte) 0); +} + +/* This function encrypts and buffers a single byte of charstring data. */ + +static void charstring_byte(int v) +{ + byte b = (byte)(v & 0xff); + if (charstring_bp - charstring_buf > (int)sizeof(charstring_buf)) + fatal_error("charstring buffer overflow"); + *charstring_bp++ = cencrypt(b); +} + +/* This function outputs buffered, encrypted charstring data through possible + eexec encryption. */ + +static void charstring_end(void) +{ + byte *bp; + + sprintf(line, "%d ", (int) (charstring_bp - charstring_buf)); + eexec_string(line); + sprintf(line, "%s ", cs_start); + eexec_string(line); + for (bp = charstring_buf; bp < charstring_bp; bp++) + eexec_byte(*bp); +} + +/* This function generates the charstring representation of an integer. */ + +static void charstring_int(int num) +{ + int x; + + if (num >= -107 && num <= 107) { + charstring_byte(num + 139); + } else if (num >= 108 && num <= 1131) { + x = num - 108; + charstring_byte(x / 256 + 247); + charstring_byte(x % 256); + } else if (num >= -1131 && num <= -108) { + x = abs(num) - 108; + charstring_byte(x / 256 + 251); + charstring_byte(x % 256); + } else if (num >= (-2147483647-1) && num <= 2147483647) { + charstring_byte(255); + charstring_byte(num >> 24); + charstring_byte(num >> 16); + charstring_byte(num >> 8); + charstring_byte(num); + } else { + error("can't format huge number `%d'", num); + /* output 0 instead */ + charstring_byte(139); + } +} + +/* This function returns one charstring token. It ignores comments. */ + +static void get_charstring_token(void) +{ + int c = getc(ifp); + while (isspace(c)) + c = getc(ifp); + + if (c == '%') { + while (c != EOF && c != '\r' && c != '\n') + c = getc(ifp); + get_charstring_token(); + + } else if (c == '}') { + line[0] = '}'; + line[1] = 0; + + } else { + char *p = line; + while (p < line + LINESIZE) { + *p++ = c; + c = getc(ifp); + if (c == EOF || isspace(c) || c == '%' || c == '}') { + ungetc(c, ifp); + break; + } + } + *p = 0; + } +} + + +/* This function parses an entire charstring into integers and commands, + outputting bytes through the charstring buffer. */ + +static void parse_charstring(void) +{ + struct command *cp; + + charstring_start(); + while (!feof(ifp)) { + get_charstring_token(); + if (line[0] == '}') + break; + if (is_integer(line)) { + charstring_int(atoi(line)); + } else { + int one; + int two; + int ok = 0; + + cp = (struct command *) + bsearch((void *) line, (void *) command_table, + sizeof(command_table) / sizeof(struct command), + sizeof(struct command), + command_compare); + + if (cp) { + one = cp->one; + two = cp->two; + ok = 1; + + } else if (strncmp(line, "escape_", 7) == 0) { + /* Parse the `escape' keyword requested by Lee Chun-Yu and Werner + Lemberg */ + one = 12; + if (sscanf(line + 7, "%d", &two) == 1) + ok = 1; + + } else if (strncmp(line, "UNKNOWN_", 8) == 0) { + /* Allow unanticipated UNKNOWN commands. */ + one = 12; + if (sscanf(line + 8, "12_%d", &two) == 1) + ok = 1; + else if (sscanf(line + 8, "%d", &one) == 1) { + two = -1; + ok = 1; + } + } + + if (!ok) + error("unknown charstring command `%s'", line); + else if (one < 0 || one > 255) + error("bad charstring command number `%d'", one); + else if (two > 255) + error("bad charstring command number `%d'", two); + else if (two < 0) + charstring_byte(one); + else { + charstring_byte(one); + charstring_byte(two); + } + } + } + charstring_end(); +} + + +/***** + * Command line + **/ + +#define BLOCK_LEN_OPT 300 +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 +#define PFB_OPT 304 +#define PFA_OPT 305 + +static Clp_Option options[] = { + { "block-length", 'l', BLOCK_LEN_OPT, Clp_ArgInt, 0 }, + { "help", 0, HELP_OPT, 0, 0 }, + { "line-length", 0, BLOCK_LEN_OPT, Clp_ArgInt, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "pfa", 'a', PFA_OPT, 0, 0 }, + { "pfb", 'b', PFB_OPT, 0, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, +}; +static const char *program_name; + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); +} + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + +static void +usage(void) +{ + printf("\ +`T1asm' translates a human-readable version of a PostScript Type 1 font into\n\ +standard PFB or PFA format. The result is written to the standard output\n\ +unless an OUTPUT file is given.\n\ +\n\ +Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +\n\ +Options:\n\ + -a, --pfa Output font in ASCII (PFA) format.\n\ + -b, --pfb Output font in binary (PFB) format. This is\n\ + the default.\n\ + -l, --block-length NUM Set max block length for PFB output.\n\ + -l, --line-length NUM Set max encrypted line length for PFA output.\n\ + -o, --output=FILE Write output to FILE.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + +#ifdef __cplusplus +} +#endif + + +int main(int argc, char *argv[]) +{ + char *p, *q, *r; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + case BLOCK_LEN_OPT: + blocklen = clp->val.i; + break; + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else if (!(ofp = fopen(clp->arg, "w"))) + fatal_error("%s: %s", clp->arg, strerror(errno)); + break; + + case PFB_OPT: + pfb = 1; + break; + + case PFA_OPT: + pfb = 0; + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1asm (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) + ifp = stdin; + else if (!(ifp = fopen(clp->arg, "r"))) + fatal_error("%s: %s", clp->arg, strerror(errno)); + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!pfb) { + if (blocklen == -1) + blocklen = 64; + else if (blocklen < 8) { + blocklen = 8; + error("warning: line length raised to %d", blocklen); + } else if (blocklen > 1024) { + blocklen = 1024; + error("warning: line length lowered to %d", blocklen); + } + } + + if (!ifp) ifp = stdin; + if (!ofp) ofp = stdout; + + if (pfb) + init_pfb_writer(&w, blocklen, ofp); + +#if defined(_MSDOS) || defined(_WIN32) + /* If we are processing a PFB (binary) output */ + /* file, we must set its file mode to binary. */ + if (pfb) + _setmode(_fileno(ofp), _O_BINARY); +#endif + + /* Finally, we loop until no more input. Some special things to look for are + the `currentfile eexec' line, the beginning of the `/Subrs' or + `/CharStrings' definition, the definition of `/lenIV', and the definition + of the charstring start command which has `...string currentfile...' in + it. + + Being careful: Check with `/Subrs' and `/CharStrings' to see that a + number follows the token -- otherwise, the token is probably nested in a + subroutine a la Adobe Jenson, and we shouldn't pay attention to it. + + Bugs: Occurrence of `/Subrs 9' in a comment will fool t1asm. + + Thanks to Tom Kacvinsky who reported that some fonts come + without /Subrs sections and provided a patch. */ + + while (!feof(ifp) && !ferror(ifp)) { + texlive_getline(); + + if (!ever_active) { + if (strncmp(line, "currentfile eexec", 17) == 0 && isspace(line[17])) { + /* Allow arbitrary whitespace after "currentfile eexec". + Thanks to Tom Kacvinsky for reporting this. + Note: strlen("currentfile eexec") == 17. */ + for (p = line + 18; isspace(*p); p++) + ; + eexec_start(p); + continue; + } else if (strncmp(line, "/lenIV", 6) == 0) { + lenIV = atoi(line + 6); + } else if ((p = strstr(line, "string currentfile")) + && strstr(line, "readstring")) { /* enforce `readstring' */ + /* locate the name of the charstring start command */ + *p = '\0'; /* damage line[] */ + q = strrchr(line, '/'); + if (q) { + r = cs_start; + ++q; + while (!isspace(*q) && *q != '{') + *r++ = *q++; + *r = '\0'; + } + *p = 's'; /* repair line[] */ + } + } + + if (!active) { + if ((p = strstr(line, "/Subrs")) && isdigit(p[7])) + ever_active = active = 1; + else if ((p = strstr(line, "/CharStrings")) && isdigit(p[13])) + ever_active = active = 1; + } + if ((p = strstr(line, "currentfile closefile"))) { + /* 2/14/99 -- happy Valentine's day! -- don't look for `mark + currentfile closefile'; the `mark' might be on a different line */ + /* 1/3/2002 -- happy new year! -- Luc Devroye reports a failure with + some printers when `currentfile closefile' is followed by space */ + p += sizeof("currentfile closefile") - 1; + for (q = p; isspace(*q) && *q != '\n'; q++) + /* nada */; + if (q == p && !*q) + error("warning: `currentfile closefile' line too long"); + else if (q != p) { + if (*q != '\n') + error("text after `currentfile closefile' ignored"); + *p++ = '\n'; + *p++ = '\0'; + } + eexec_string(line); + break; + } + + eexec_string(line); + + /* output line data */ + if (start_charstring) { + if (!cs_start[0]) + fatal_error("couldn't find charstring start command"); + parse_charstring(); + } + } + + /* Handle remaining PostScript after the eexec section */ + if (in_eexec) + eexec_end(); + + /* There may be additional code. */ + while (!feof(ifp) && !ferror(ifp)) { + texlive_getline(); + eexec_string(line); + } + + if (pfb) + pfb_writer_end(&w); + + /* the end! */ + if (!ever_active) + error("warning: no charstrings found in input file"); + fclose(ifp); + fclose(ofp); + return 0; +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1binary.1 b/Build/source/utils/t1utils/t1utils-1.34/t1binary.1 new file mode 100644 index 00000000000..839638c8ede --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1binary.1 @@ -0,0 +1,42 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1BINARY 1 "" "Version \*V" +.SH NAME +t1binary \- convert PostScript Type 1 font from ASCII to binary +.SH SYNOPSIS +.B t1binary +\%[\fB\-l\fR \fIlength\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1binary +converts Adobe Type 1 font programs in PFA (hexadecimal) format to PFB +(binary) format. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. +.SH OPTIONS +.TP 5 +.BI \-\-block\-length= "length\fR, " \-l " length" +Set the maximum length of sections in PFB output to +.I length. +The default length is as large as memory allows. +.SH "SEE ALSO" +.LP +.M t1ascii 1 , +.M t1unmac 1 , +.M t1mac 1 , +.M t1disasm 1 , +.M t1asm 1 +.LP +.I "Adobe Type 1 Font Format" +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1binary.c b/Build/source/utils/t1utils/t1utils-1.34/t1binary.c new file mode 100644 index 00000000000..4253c9cfaeb --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1binary.c @@ -0,0 +1,280 @@ +/* t1binary + * + * This program takes an Adobe Type-1 font program in ASCII (PFA) format and + * converts it to binary (PFB) format. + * + * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. + * + * I. Lee Hetherington (ilh@lcs.mit.edu) + * + * 1.5 and later versions contain changes by, and are maintained by, + * Eddie Kohler . + * + * New change log in `NEWS'. Old change log: + * + * Revision 1.2 92/06/23 10:58:08 ilh + * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) + * incoporated. + * + * Revision 1.1 92/05/22 11:58:17 ilh + * initial version + * + * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by + * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code + * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS + * ... #endif, where _MSDOS is an identifier, which is automatically + * defined, if you compile with the Microsoft C/C++ Compiler. + * + */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char byte; + +/* for PFB block buffering */ +static struct pfb_writer w; + + +/* PFB font_reader functions */ + +static void +pfb_output_ascii(char *s, int len) +{ + if (w.blocktyp == PFB_BINARY) { + pfb_writer_output_block(&w); + w.blocktyp = PFB_ASCII; + } + for (; len > 0; len--, s++) + PFB_OUTPUT_BYTE(&w, (byte)*s); +} + +static void +pfb_output_binary(unsigned char *s, int len) +{ + if (w.blocktyp == PFB_ASCII) { + pfb_writer_output_block(&w); + w.blocktyp = PFB_BINARY; + } + for (; len > 0; len--, s++) + PFB_OUTPUT_BYTE(&w, *s); +} + +static void +pfb_output_end(void) +{ + pfb_writer_end(&w); +} + + +/***** + * Command line + **/ + +#define BLOCK_LEN_OPT 300 +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 + +static Clp_Option options[] = { + { "block-length", 'l', BLOCK_LEN_OPT, Clp_ArgInt, 0 }, + { "help", 0, HELP_OPT, 0, 0 }, + { "length", 0, BLOCK_LEN_OPT, Clp_ArgInt, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, +}; +static const char *program_name; + + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); +} + + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + + +static void +usage(void) +{ + printf("\ +`T1binary' translates a PostScript Type 1 font from ASCII (PFA) to compact\n\ +binary (PFB) format. The result is written to the standard output unless an\n\ +OUTPUT file is given.\n\ +\n\ +Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +\n\ +Options:\n\ + -l, --block-length=NUM Set max output block length.\n\ + -o, --output=FILE Write output to FILE.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + +#ifdef __cplusplus +} +#endif + + +int +main(int argc, char *argv[]) +{ + int c; + FILE *ifp = 0, *ofp = 0; + const char *ifp_filename = ""; + struct font_reader fr; + int max_blocklen = -1; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + case BLOCK_LEN_OPT: + max_blocklen = clp->val.i; + if (max_blocklen <= 0) { + max_blocklen = 1; + error("warning: block length raised to %d", max_blocklen); + } + break; + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else { + ofp = fopen(clp->arg, "wb"); + if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1binary (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) + ifp = stdin; + else { + ifp_filename = clp->arg; + ifp = fopen(clp->arg, "r"); + if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!ifp) ifp = stdin; + if (!ofp) ofp = stdout; + +#if defined(_MSDOS) || defined(_WIN32) + /* As we are processing a PFB (binary) output */ + /* file, we must set its file mode to binary. */ + _setmode(_fileno(ofp), _O_BINARY); +#endif + + /* prepare font reader and pfb writer */ + fr.output_ascii = pfb_output_ascii; + fr.output_binary = pfb_output_binary; + fr.output_end = pfb_output_end; + init_pfb_writer(&w, max_blocklen, ofp); + + /* peek at first byte to see if it is the PFB marker 0x80 */ + c = getc(ifp); + ungetc(c, ifp); + + /* do the file */ + if (c == PFB_MARKER) + process_pfb(ifp, ifp_filename, &fr); + else if (c == '%') + process_pfa(ifp, ifp_filename, &fr); + else + fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); + + fclose(ifp); + fclose(ofp); + + if (!w.binary_blocks_written) + fatal_error("no binary blocks written! Are you sure this was a font?"); + + return 0; +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1disasm.1 b/Build/source/utils/t1utils/t1utils-1.34/t1disasm.1 new file mode 100644 index 00000000000..17a82f27a43 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1disasm.1 @@ -0,0 +1,96 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1DISASM 1 "" "Version \*V" +.SH NAME +t1disasm \- disassemble PostScript Type 1 font +.SH SYNOPSIS +.B t1disasm +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1disasm +disassembles Adobe Type 1 font programs in either PFA (hexadecimal) or PFB +(binary) formats into human-readable form. If the file +.I output +is not specified output goes to the standard output. +If the file +.I input +is not specified input comes from the standard input. + +.B t1disasm +performs eexec and charstring decryption as specified in the ``black +book'', +.I "Adobe Type 1 Font Format." +Additionally, the charstring binary tokens are expanded into human-readable +text form, using the names given in the black book and later documents +describing Type 2 opcodes. +.SH EXAMPLES +.LP +.nf +% t1disasm Utopia-Regular.pfb Utopia-Regular.raw +% t1disasm Utopia-Regular.pfa Utopia-Regular.raw +.fi + +In +.B Subrs +entries in Utopia-Regular.raw will look like +.RS +.nf +.ft B +dup 5 { + 8 111 vstem + -12 128 hstem + 707 -20 hstem + return + } | +.ft R +.fi +.RE +and the +.B CharStrings +entries like +.RS +.nf +.ft B +/exclam { + 58 242 hsbw + 6 callsubr + 5 4 callsubr + 63 707 rmoveto + -54 0 -5 -22 4 -45 rrcurveto + 40 -431 rlineto + 29 hlineto + 42 431 rlineto + 4 45 -5 22 -55 0 rrcurveto + closepath + 6 4 callsubr + -719 vmoveto + 243 callsubr + endchar + } |- +.ft R +.fi +.RE +.SH "SEE ALSO" +.LP +.M t1asm 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1unmac 1 , +.M t1mac 1 +.LP +.I "Adobe Type 1 Font Format" +is available free from Adobe as a PDF file: +http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF +.LP +.I "The Type 2 Charstring Format," +also available from Adobe as a PDF file, describes the newer Type 2 +operators, which are also used in some multiple-master Type 1 fonts like +Adobe Jenson and Kepler: +http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf +' +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1disasm.c b/Build/source/utils/t1utils/t1utils-1.34/t1disasm.c new file mode 100644 index 00000000000..996ad77ea78 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1disasm.c @@ -0,0 +1,779 @@ +/* t1disasm + * + * This program `disassembles' Adobe Type-1 font programs in either PFB or PFA + * format. It produces a human readable/editable pseudo-PostScript file by + * performing eexec and charstring decryption as specified in the `Adobe Type 1 + * Font Format' version 1.1 (the `black book'). There is a companion program, + * t1asm, which `assembles' such a pseudo-PostScript file into either PFB or + * PFA format. + * + * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. + * + * I. Lee Hetherington (ilh@lcs.mit.edu) + * + * 1.5 and later versions contain changes by, and are maintained by, + * Eddie Kohler . + * + * New change log in `NEWS'. Old change log: + * + * Revision 1.4 92/07/10 10:55:08 ilh + * Added support for additional PostScript after the closefile command + * (ie., some fonts have {restore}if' after the cleartomark). Also, + * removed hardwired charstring start command (-| or RD) in favor of + * automatically determining it. + * + * Revision 1.3 92/06/23 10:57:53 ilh + * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) + * incoporated. + * + * Revision 1.2 92/05/22 12:05:33 ilh + * Fixed bug where we were counting on sprintf to return its first + * argument---not true in ANSI C. This bug was detected by Piet + * Tutelaers (rcpt@urc.tue.nl). Also, fixed (signed) integer overflow + * error when testing high-order bit of integer for possible + * sign-extension by making comparison between unsigned integers. + * + * Revision 1.1 92/05/22 12:04:07 ilh + * initial version + * + * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by + * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code + * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS + * ... #endif, where _MSDOS is an identifier, which is automatically + * defined, if you compile with the Microsoft C/C++ Compiler. + * + */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char byte; + +static FILE *ofp; +static int lenIV = 4; +static char cs_start[10]; +static int unknown = 0; + +/* decryption stuff */ +static uint16_t c1 = 52845, c2 = 22719; +static uint16_t cr_default = 4330; +static uint16_t er_default = 55665; + +static int error_count = 0; + + +/* If the line contains an entry of the form `/lenIV ' then set the global + lenIV to . This indicates the number of random bytes at the beginning + of each charstring. */ + +static void +set_lenIV(char *line) +{ + char *p = strstr(line, "/lenIV "); + + /* Allow lenIV to be negative. Thanks to Tom Kacvinsky */ + if (p && (isdigit(p[7]) || p[7] == '+' || p[7] == '-')) { + lenIV = atoi(p + 7); + } +} + +static void +set_cs_start(char *line) +{ + char *p, *q, *r; + + if ((p = strstr(line, "string currentfile"))) { + /* enforce presence of `readstring' -- 5/29/99 */ + if (!strstr(line, "readstring")) + return; + /* locate the name of the charstring start command */ + *p = '\0'; /* damage line[] */ + q = strrchr(line, '/'); + if (q) { + r = cs_start; + ++q; + while (!isspace(*q) && *q != '{') + *r++ = *q++; + *r = '\0'; + } + *p = 's'; /* repair line[] */ + } +} + +/* Subroutine to output strings. */ + +static void +output(const char *string) +{ + fprintf(ofp, "%s", string); +} + +/* Subroutine to neatly format output of charstring tokens. If token = "\n", + then a newline is output. If at start of line (start == 1), prefix token + with tab, otherwise a space. */ + +static void +output_token(const char *token) +{ + static int start = 1; + if (strcmp(token, "\n") == 0) { + fprintf(ofp, "\n"); + start = 1; + } else { + fprintf(ofp, "%s%s", start ? "\t" : " ", token); + start = 0; + } +} + +/* Subroutine to decrypt and ASCII-ify tokens in charstring data. The + charstring decryption machinery is fired up, skipping the first lenIV + bytes, and the decrypted tokens are expanded into human-readable form. */ + +static void +decrypt_charstring(unsigned char *line, int len) +{ + int i; + int32_t val; + char buf[20]; + + /* decrypt charstring */ + if (lenIV >= 0) { + /* only decrypt if lenIV >= 0 -- negative lenIV means unencrypted + charstring. Thanks to Tom Kacvinsky */ + uint16_t cr = cr_default; + byte plain; + for (i = 0; i < len; i++) { + byte cipher = line[i]; + plain = (byte)(cipher ^ (cr >> 8)); + cr = (uint16_t)((cipher + cr) * c1 + c2); + line[i] = plain; + } + line += lenIV; + len -= lenIV; + } + + /* handle each charstring command */ + for (i = 0; i < len; i++) { + byte b = line[i]; + + if (b >= 32) { + if (b >= 32 && b <= 246) + val = b - 139; + else if (b >= 247 && b <= 250) { + i++; + val = (b - 247)*256 + 108 + line[i]; + } else if (b >= 251 && b <= 254) { + i++; + val = -(b - 251)*256 - 108 - line[i]; + } else { + val = (line[i+1] & 0xff) << 24; + val |= (line[i+2] & 0xff) << 16; + val |= (line[i+3] & 0xff) << 8; + val |= (line[i+4] & 0xff) << 0; + /* in case an int32 is larger than four bytes---sign extend */ +#if INT_MAX > 0x7FFFFFFFUL + if (val & 0x80000000) + val |= ~0x7FFFFFFF; +#endif + i += 4; + } + sprintf(buf, "%d", val); + output_token(buf); + + } else { + switch (b) { + case 0: output_token("error"); break; /* special */ + case 1: output_token("hstem"); break; + case 3: output_token("vstem"); break; + case 4: output_token("vmoveto"); break; + case 5: output_token("rlineto"); break; + case 6: output_token("hlineto"); break; + case 7: output_token("vlineto"); break; + case 8: output_token("rrcurveto"); break; + case 9: output_token("closepath"); break; /* Type 1 ONLY */ + case 10: output_token("callsubr"); break; + case 11: output_token("return"); break; + case 13: output_token("hsbw"); break; /* Type 1 ONLY */ + case 14: output_token("endchar"); break; + case 16: output_token("blend"); break; /* Type 2 */ + case 18: output_token("hstemhm"); break; /* Type 2 */ + case 19: output_token("hintmask"); break; /* Type 2 */ + case 20: output_token("cntrmask"); break; /* Type 2 */ + case 21: output_token("rmoveto"); break; + case 22: output_token("hmoveto"); break; + case 23: output_token("vstemhm"); break; /* Type 2 */ + case 24: output_token("rcurveline"); break; /* Type 2 */ + case 25: output_token("rlinecurve"); break; /* Type 2 */ + case 26: output_token("vvcurveto"); break; /* Type 2 */ + case 27: output_token("hhcurveto"); break; /* Type 2 */ + case 28: { /* Type 2 */ + /* short integer */ + val = (line[i+1] & 0xff) << 8; + val |= (line[i+2] & 0xff); + i += 2; + if (val & 0x8000) + val |= ~0x7FFF; + sprintf(buf, "%d", val); + output_token(buf); + } + case 29: output_token("callgsubr"); break; /* Type 2 */ + case 30: output_token("vhcurveto"); break; + case 31: output_token("hvcurveto"); break; + case 12: + i++; + b = line[i]; + switch (b) { + case 0: output_token("dotsection"); break; /* Type 1 ONLY */ + case 1: output_token("vstem3"); break; /* Type 1 ONLY */ + case 2: output_token("hstem3"); break; /* Type 1 ONLY */ + case 3: output_token("and"); break; /* Type 2 */ + case 4: output_token("or"); break; /* Type 2 */ + case 5: output_token("not"); break; /* Type 2 */ + case 6: output_token("seac"); break; /* Type 1 ONLY */ + case 7: output_token("sbw"); break; /* Type 1 ONLY */ + case 8: output_token("store"); break; /* Type 2 */ + case 9: output_token("abs"); break; /* Type 2 */ + case 10: output_token("add"); break; /* Type 2 */ + case 11: output_token("sub"); break; /* Type 2 */ + case 12: output_token("div"); break; + case 13: output_token("load"); break; /* Type 2 */ + case 14: output_token("neg"); break; /* Type 2 */ + case 15: output_token("eq"); break; /* Type 2 */ + case 16: output_token("callothersubr"); break; /* Type 1 ONLY */ + case 17: output_token("pop"); break; /* Type 1 ONLY */ + case 18: output_token("drop"); break; /* Type 2 */ + case 20: output_token("put"); break; /* Type 2 */ + case 21: output_token("get"); break; /* Type 2 */ + case 22: output_token("ifelse"); break; /* Type 2 */ + case 23: output_token("random"); break; /* Type 2 */ + case 24: output_token("mul"); break; /* Type 2 */ + case 26: output_token("sqrt"); break; /* Type 2 */ + case 27: output_token("dup"); break; /* Type 2 */ + case 28: output_token("exch"); break; /* Type 2 */ + case 29: output_token("index"); break; /* Type 2 */ + case 30: output_token("roll"); break; /* Type 2 */ + case 33: output_token("setcurrentpoint"); break;/* Type 1 ONLY */ + case 34: output_token("hflex"); break; /* Type 2 */ + case 35: output_token("flex"); break; /* Type 2 */ + case 36: output_token("hflex1"); break; /* Type 2 */ + case 37: output_token("flex1"); break; /* Type 2 */ + default: + sprintf(buf, "escape_%d", b); + unknown++; + output_token(buf); + break; + } + break; + default: + sprintf(buf, "UNKNOWN_%d", b); + unknown++; + output_token(buf); + break; + } + output_token("\n"); + } + } + if (i > len) { + output("\terror\n"); + error("disassembly error: charstring too short"); + } +} + + +/* Disassembly font_reader functions */ + +static int in_eexec = 0; +static unsigned char *save = 0; +static int save_len = 0; +static int save_cap = 0; + +static void +append_save(const unsigned char *line, int len) +{ + if (save_len + len >= save_cap) { + unsigned char *new_save; + if (!save_cap) save_cap = 1024; + while (save_len + len >= save_cap) save_cap *= 2; + new_save = (unsigned char *)malloc(save_cap); + if (!new_save) + fatal_error("out of memory"); + memcpy(new_save, save, save_len); + free(save); + save = new_save; + } + memcpy(save + save_len, line, len); + save_len += len; +} + +/* 23.Feb.2004 - use 'memstr', not strstr, because the strings input to + eexec_line aren't null terminated! Reported by Werner Lemberg. */ + +static unsigned char * +oog_memstr(unsigned char *line, int line_len, const char *pattern, int pattern_len) +{ + unsigned char *try; + unsigned char *last = line + line_len - pattern_len + 1; + while (line < last + && (try = memchr(line, (unsigned char)*pattern, last - line))) { + if (memcmp(try, pattern, pattern_len) == 0) + return try; + else + line = try + 1; + } + return 0; +} + +/* returns 1 if next \n should be deleted */ + +static int +eexec_line(unsigned char *line, int line_len) +{ + int cs_start_len = strlen(cs_start); + int pos; + int first_space; + int digits; + int cut_newline = 0; + + /* append this data to the end of `save' if necessary */ + if (save_len) { + append_save(line, line_len); + line = save; + line_len = save_len; + } + + if (!line_len) + return 0; + + /* Look for charstring start */ + + /* skip first word */ + for (pos = 0; pos < line_len && isspace(line[pos]); pos++) + ; + while (pos < line_len && !isspace(line[pos])) + pos++; + if (pos >= line_len) + goto not_charstring; + + /* skip spaces */ + first_space = pos; + while (pos < line_len && isspace(line[pos])) + pos++; + if (pos >= line_len || !isdigit(line[pos])) + goto not_charstring; + + /* skip number */ + digits = pos; + while (pos < line_len && isdigit(line[pos])) + pos++; + + /* check for subr (another number) */ + if (pos < line_len - 1 && isspace(line[pos]) && isdigit(line[pos+1])) { + first_space = pos; + digits = pos + 1; + for (pos = digits; pos < line_len && isdigit(line[pos]); pos++) + ; + } + + /* check for charstring start */ + if (pos + 2 + cs_start_len < line_len + && pos > digits + && line[pos] == ' ' + && strncmp((const char *)(line + pos + 1), cs_start, cs_start_len) == 0 + && line[pos + 1 + cs_start_len] == ' ') { + /* check if charstring is long enough */ + int cs_len = atoi((const char *)(line + digits)); + if (pos + 2 + cs_start_len + cs_len < line_len) { + /* long enough! */ + if (line[line_len - 1] == '\r') { + line[line_len - 1] = '\n'; + cut_newline = 1; + } + fprintf(ofp, "%.*s {\n", first_space, line); + decrypt_charstring(line + pos + 2 + cs_start_len, cs_len); + pos += 2 + cs_start_len + cs_len; + fprintf(ofp, "\t}%.*s", line_len - pos, line + pos); + save_len = 0; + return cut_newline; + } else { + /* not long enough! */ + if (line != save) + append_save(line, line_len); + return 0; + } + } + + /* otherwise, just output the line */ + not_charstring: + /* 6.Oct.2003 - Werner Lemberg reports a stupid Omega font that behaves + badly: a charstring definition follows "/Charstrings ... begin", ON THE + SAME LINE. */ + { + char *CharStrings = (char *) + oog_memstr(line, line_len, "/CharStrings ", 13); + int crap, n; + char should_be_slash = 0; + if (CharStrings + && sscanf(CharStrings + 12, " %d dict dup begin %c%n", &crap, &should_be_slash, &n) >= 2 + && should_be_slash == '/') { + int len = (CharStrings + 12 + n - 1) - (char *) line; + fprintf(ofp, "%.*s\n", len, line); + return eexec_line((unsigned char *) (CharStrings + 12 + n - 1), line_len - len); + } + } + + if (line[line_len - 1] == '\r') { + line[line_len - 1] = '\n'; + cut_newline = 1; + } + set_lenIV((char *)line); + set_cs_start((char *)line); + fprintf(ofp, "%.*s", line_len, line); + save_len = 0; + + /* look for `currentfile closefile' to see if we should stop decrypting */ + if (oog_memstr(line, line_len, "currentfile closefile", 21) != 0) + in_eexec = -1; + + return cut_newline; +} + +static int +all_zeroes(const char *string) +{ + if (*string != '0') + return 0; + while (*string == '0') + string++; + return *string == '\0' || *string == '\n'; +} + +static void +disasm_output_ascii(char *line, int len) +{ + int was_in_eexec = in_eexec; + (void) len; /* avoid warning */ + in_eexec = 0; + + /* if we came from a binary section, we need to process that too */ + if (was_in_eexec > 0) { + unsigned char zero = 0; + eexec_line(&zero, 0); + } + + /* if we just came from the "ASCII part" of an eexec section, we need to + process the saved lines */ + if (was_in_eexec < 0) { + int i = 0; + int save_char = 0; /* note: save[] is unsigned char * */ + + while (i < save_len) { + /* grab a line */ + int start = i; + while (i < save_len && save[i] != '\r' && save[i] != '\n') + i++; + if (i < save_len) { + if (i < save_len - 1 && save[i] == '\r' && save[i+1] == '\n') + save_char = -1; + else + save_char = save[i+1]; + save[i] = '\n'; + save[i+1] = 0; + } else + save[i] = 0; + + /* output it */ + disasm_output_ascii((char *)(save + start), -1); + + /* repair damage */ + if (i < save_len) { + if (save_char >= 0) { + save[i+1] = save_char; + i++; + } else + i += 2; + } + } + save_len = 0; + } + + if (!all_zeroes(line)) + output(line); +} + +/* collect until '\n' or end of binary section */ + +static void +disasm_output_binary(unsigned char *data, int len) +{ + static int ignore_newline; + static uint16_t er; + + byte plain; + int i; + + /* in the ASCII portion of a binary section, just save this data */ + if (in_eexec < 0) { + append_save(data, len); + return; + } + + /* eexec initialization */ + if (in_eexec == 0) { + er = er_default; + ignore_newline = 0; + in_eexec = 0; + } + if (in_eexec < 4) { + for (i = 0; i < len && in_eexec < 4; i++, in_eexec++) { + byte cipher = data[i]; + plain = (byte)(cipher ^ (er >> 8)); + er = (uint16_t)((cipher + er) * c1 + c2); + data[i] = plain; + } + data += i; + len -= i; + } + + /* now make lines: collect until '\n' or '\r' and pass them off to + eexec_line. */ + i = 0; + while (in_eexec > 0) { + int start = i; + + for (; i < len; i++) { + byte cipher = data[i]; + plain = (byte)(cipher ^ (er >> 8)); + er = (uint16_t)((cipher + er) * c1 + c2); + data[i] = plain; + if (plain == '\r' || plain == '\n') + break; + } + + if (ignore_newline && start < i && data[start] == '\n') { + ignore_newline = 0; + continue; + } + + if (i >= len) { + if (start < len) + append_save(data + start, i - start); + break; + } + + i++; + ignore_newline = eexec_line(data + start, i - start); + } + + /* if in_eexec < 0, we have some plaintext lines sitting around in a binary + section of the PFB. save them for later */ + if (in_eexec < 0 && i < len) + append_save(data + i, len - i); +} + +static void +disasm_output_end(void) +{ + /* take care of leftover saved data */ + static char crap[1] = ""; + disasm_output_ascii(crap, 0); +} + + +/***** + * Command line + **/ + +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 + +static Clp_Option options[] = { + { "help", 0, HELP_OPT, 0, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, +}; +static const char *program_name; + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + fputc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + fputc('\n', stderr); + error_count++; +} + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [INPUT [OUTPUT]]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + +static void +usage(void) +{ + printf("\ +`T1disasm' translates a PostScript Type 1 font in PFB or PFA format into a\n\ +human-readable, human-editable form. The result is written to the standard\n\ +output unless an OUTPUT file is given.\n\ +\n\ +Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +\n\ +Options:\n\ + -o, --output=FILE Write output to FILE.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + +#ifdef __cplusplus +} +#endif + + +int +main(int argc, char *argv[]) +{ + struct font_reader fr; + int c; + FILE *ifp = 0; + const char *ifp_filename = ""; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else { + ofp = fopen(clp->arg, "w"); + if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1disasm (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) + ifp = stdin; + else { + ifp_filename = clp->arg; + ifp = fopen(clp->arg, "rb"); + if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!ifp) ifp = stdin; + if (!ofp) ofp = stdout; + +#if defined(_MSDOS) || defined(_WIN32) + /* As we might be processing a PFB (binary) input file, we must set its file + mode to binary. */ + _setmode(_fileno(ifp), _O_BINARY); +#endif + + /* prepare font reader */ + fr.output_ascii = disasm_output_ascii; + fr.output_binary = disasm_output_binary; + fr.output_end = disasm_output_end; + + /* peek at first byte to see if it is the PFB marker 0x80 */ + c = getc(ifp); + ungetc(c, ifp); + + /* do the file */ + if (c == PFB_MARKER) + process_pfb(ifp, ifp_filename, &fr); + else if (c == '%') + process_pfa(ifp, ifp_filename, &fr); + else + fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); + + fclose(ifp); + fclose(ofp); + + if (unknown) + error((unknown > 1 + ? "encountered %d unknown charstring commands" + : "encountered %d unknown charstring command"), + unknown); + + return (error_count ? 1 : 0); +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1lib.c b/Build/source/utils/t1utils/t1utils-1.34/t1lib.c new file mode 100644 index 00000000000..d7b82a9f208 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1lib.c @@ -0,0 +1,441 @@ +/* t1lib + * + * This file contains functions for reading PFA and PFB files. + * + * (C) 1999-2008 Eddie Kohler , after code by + * I. Lee Hetherington . All rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice remains intact. + * + */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include +#include +#include +#include "t1lib.h" +#ifdef __cplusplus +extern "C" { +#endif + +#define PFA_ASCII 1 +#define PFA_EEXEC_TEST 2 +#define PFA_HEX 3 +#define PFA_BINARY 4 + +/* This function returns the value (0-15) of a single hex digit. It returns + 0 for an invalid hex digit. */ + +static int +hexval(char c) +{ + if (c >= 'A' && c <= 'F') + return c - 'A' + 10; + else if (c >= 'a' && c <= 'f') + return c - 'a' + 10; + else if (c >= '0' && c <= '9') + return c - '0'; + else + return 0; +} + +/* This function translates a string of hexadecimal digits into binary data. + We allow an odd number of digits. Returns length of binary data. */ + +static int +translate_hex_string(char *s, char *saved_orphan) +{ + int c1 = *saved_orphan; + char *start = s; + char *t = s; + for (; *s; s++) { + if (isspace(*s)) + continue; + if (c1) { + *t++ = (hexval(c1) << 4) + hexval(*s); + c1 = 0; + } else + c1 = *s; + } + *saved_orphan = c1; + return t - start; +} + +/* This function returns 1 if the string contains all '0's. */ + +static int +all_zeroes(char *s) +{ + if (*s == '\0' || *s == '\n') + return 0; + while (*s == '0') + s++; + return *s == '\0' || *s == '\n'; +} + +/* This function handles the entire file. */ + +#define LINESIZE 1024 + +void +process_pfa(FILE *ifp, const char *ifp_filename, struct font_reader *fr) +{ + /* Loop until no more input. We need to look for `currentfile eexec' to + start eexec section (hex to binary conversion) and line of all zeros to + switch back to ASCII. */ + + /* Don't use fgets() in case line-endings are indicated by bare \r's, as + occurs in Macintosh fonts. */ + + /* 2.Aug.1999 - At the behest of Tom Kacvinsky , support + binary PFA fonts. */ + + char buffer[LINESIZE]; + int c = 0; + int blocktyp = PFA_ASCII; + char saved_orphan = 0; + (void)ifp_filename; + + while (c != EOF) { + char *line = buffer, *last = buffer; + int crlf = 0; + c = getc(ifp); + while (c != EOF && c != '\r' && c != '\n' && last < buffer + LINESIZE - 1) { + *last++ = c; + c = getc(ifp); + } + + /* handle the end of the line */ + if (last == buffer + LINESIZE - 1) + /* buffer overrun: don't append newline even if we have it */ + ungetc(c, ifp); + else if (c == '\r' && blocktyp != PFA_BINARY) { + /* change CR or CR/LF into LF, unless reading binary data! (This + condition was wrong before, caused Thanh problems - + 6.Mar.2001) */ + c = getc(ifp); + if (c != '\n') + ungetc(c, ifp), crlf = 1; + else + crlf = 2; + *last++ = '\n'; + } else if (c != EOF) + *last++ = c; + + *last = 0; + + /* now that we have the line, handle it */ + if (blocktyp == PFA_ASCII) { + if (strncmp(line, "currentfile eexec", 17) == 0 && isspace(line[17])) { + char saved_p; + /* assert(line == buffer); */ + for (line += 18; isspace(*line); line++) + /* nada */; + saved_p = *line; + *line = 0; + fr->output_ascii(buffer, line - buffer); + *line = saved_p; + blocktyp = PFA_EEXEC_TEST; + if (!*line) + continue; + } else { + fr->output_ascii(line, last - line); + continue; + } + } + + /* check immediately after "currentfile eexec" for ASCII or binary */ + if (blocktyp == PFA_EEXEC_TEST) { + /* 8.Feb.2004: fix bug if first character in a binary eexec block + is 0, reported by Werner Lemberg */ + for (; line < last && isspace(*line); line++) + /* nada */; + if (line == last) + continue; + else if (last >= line + 4 && isxdigit(line[0]) && isxdigit(line[1]) + && isxdigit(line[2]) && isxdigit(line[3])) + blocktyp = PFA_HEX; + else + blocktyp = PFA_BINARY; + memmove(buffer, line, last - line + 1); + last = buffer + (last - line); + line = buffer; + /* patch up crlf fix */ + if (blocktyp == PFA_BINARY && crlf) { + last[-1] = '\r'; + if (crlf == 2) + *last++ = '\n'; + } + } + + /* blocktyp == PFA_HEX || blocktyp == PFA_BINARY */ + if (all_zeroes(line)) { /* XXX not safe */ + fr->output_ascii(line, last - line); + blocktyp = PFA_ASCII; + } else if (blocktyp == PFA_HEX) { + int len = translate_hex_string(line, &saved_orphan); + if (len) + fr->output_binary((unsigned char *)line, len); + } else + fr->output_binary((unsigned char *)line, last - line); + } + + fr->output_end(); +} + +/* Process a PFB file. */ + +/* XXX Doesn't handle "currentfile eexec" as intelligently as process_pfa + does. */ + +static int +handle_pfb_ascii(struct font_reader *fr, char *line, int len) +{ + /* Divide PFB_ASCII blocks into lines */ + int start = 0; + + while (1) { + int pos = start; + + while (pos < len && line[pos] != '\n' && line[pos] != '\r') + pos++; + + if (pos >= len) { + if (pos == start) + return 0; + else if (start == 0 && pos == LINESIZE - 1) { + line[pos] = 0; + fr->output_ascii(line, pos); + return 0; + } else { + memmove(line, line + start, pos - start); + return pos - start; + } + + } else if (pos < len - 1 && line[pos] == '\r' && line[pos+1] == '\n') { + line[pos] = '\n'; + line[pos+1] = 0; + fr->output_ascii(line + start, pos + 1 - start); + start = pos + 2; + + } else { + char save = line[pos+1]; + line[pos] = '\n'; + line[pos+1] = 0; + fr->output_ascii(line + start, pos + 1 - start); + line[pos+1] = save; + start = pos + 1; + } + } +} + + +void +process_pfb(FILE *ifp, const char *ifp_filename, struct font_reader *fr) +{ + int blocktyp = 0; + int block_len = 0; + int c = 0; + int filepos = 0; + int linepos = 0; + char line[LINESIZE]; + + while (1) { + while (block_len == 0) { + c = getc(ifp); + blocktyp = getc(ifp); + if (c != PFB_MARKER + || (blocktyp != PFB_ASCII && blocktyp != PFB_BINARY + && blocktyp != PFB_DONE)) { + if (c == EOF || blocktyp == EOF) + error("%s corrupted: no end-of-file marker", ifp_filename); + else + error("%s corrupted: bad block marker at position %d", + ifp_filename, filepos); + blocktyp = PFB_DONE; + } + if (blocktyp == PFB_DONE) + goto done; + + block_len = getc(ifp) & 0xFF; + block_len |= (getc(ifp) & 0xFF) << 8; + block_len |= (getc(ifp) & 0xFF) << 16; + block_len |= (getc(ifp) & 0xFF) << 24; + if (feof(ifp)) { + error("%s corrupted: bad block length at position %d", + ifp_filename, filepos); + blocktyp = PFB_DONE; + goto done; + } + filepos += 6; + } + + /* read the block in its entirety, in LINESIZE chunks */ + while (block_len > 0) { + int rest = LINESIZE - 1 - linepos; /* leave space for '\0' */ + int n = (block_len > rest ? rest : block_len); + int actual = fread(line + linepos, 1, n, ifp); + if (actual != n) { + error("%s corrupted: block short by %d bytes at position %d", + ifp_filename, block_len - actual, filepos); + block_len = actual; + } + + if (blocktyp == PFB_BINARY) + fr->output_binary((unsigned char *)line, actual); + else + linepos = handle_pfb_ascii(fr, line, linepos + actual); + + block_len -= actual; + filepos += actual; + } + + /* handle any leftover line */ + if (linepos > 0) { + line[linepos] = 0; + fr->output_ascii(line, linepos); + linepos = 0; + } + } + + done: + c = getc(ifp); + if (c != EOF) + error("%s corrupted: data after PFB end marker at position %d", + ifp_filename, filepos - 2); + fr->output_end(); +} + + +#define DEFAULT_BLOCKLEN (1L<<12) + +void +init_pfb_writer(struct pfb_writer *w, int blocklen, FILE *f) +{ + w->len = DEFAULT_BLOCKLEN; + w->buf = (unsigned char *)malloc(w->len); + if (!w->buf) + fatal_error("out of memory"); + w->max_len = (blocklen <= 0 ? 0xFFFFFFFFU : (unsigned)blocklen); + w->pos = 0; + w->blocktyp = PFB_ASCII; + w->binary_blocks_written = 0; + w->f = f; +} + +void +pfb_writer_output_block(struct pfb_writer *w) +{ + /* do nothing if nothing in block */ + if (w->pos == 0) + return; + + /* output four-byte block length */ + putc(PFB_MARKER, w->f); + putc(w->blocktyp, w->f); + putc((int)(w->pos & 0xff), w->f); + putc((int)((w->pos >> 8) & 0xff), w->f); + putc((int)((w->pos >> 16) & 0xff), w->f); + putc((int)((w->pos >> 24) & 0xff), w->f); + + /* output block data */ + fwrite(w->buf, 1, w->pos, w->f); + + /* mark block buffer empty and uninitialized */ + w->pos = 0; + if (w->blocktyp == PFB_BINARY) + w->binary_blocks_written++; +} + +void +pfb_writer_grow_buf(struct pfb_writer *w) +{ + if (w->len < w->max_len) { + /* grow w->buf */ + unsigned new_len = w->len * 2; + unsigned char *new_buf; + if (new_len > w->max_len) + new_len = w->max_len; + new_buf = (unsigned char *)malloc(new_len); + if (!new_buf) { + error("out of memory; continuing with a smaller block size"); + w->max_len = w->len; + pfb_writer_output_block(w); + } else { + memcpy(new_buf, w->buf, w->len); + free(w->buf); + w->buf = new_buf; + w->len = new_len; + } + + } else + /* buf already the right size, just output the block */ + pfb_writer_output_block(w); +} + +void +pfb_writer_end(struct pfb_writer *w) +{ + if (w->pos) + pfb_writer_output_block(w); + putc(PFB_MARKER, w->f); + putc(PFB_DONE, w->f); +} + +/* This CRC table and routine were borrowed from macutils-2.0b3 */ + +static unsigned short crctab[256] = { + 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, + 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, + 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, + 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, + 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, + 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, + 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, + 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, + 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, + 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, + 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, + 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, + 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, + 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, + 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, + 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, + 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, + 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, + 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, + 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, + 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, + 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, + 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, + 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, + 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, + 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, + 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, + 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, + 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, + 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0, +}; + +/* + * Update a CRC check on the given buffer. + */ + +int +crcbuf(int crc, unsigned int len, const char *buf) +{ + const unsigned char *ubuf = (const unsigned char *)buf; + while (len--) + crc = ((crc << 8) & 0xFF00) ^ crctab[((crc >> 8) & 0xFF) ^ *ubuf++]; + return crc; +} + +#ifdef __cplusplus +} +#endif diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1lib.h b/Build/source/utils/t1utils/t1utils-1.34/t1lib.h new file mode 100644 index 00000000000..93859fea731 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1lib.h @@ -0,0 +1,56 @@ +#ifndef T1LIB_H +#define T1LIB_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef WIN32 +# pragma warning (disable: 4007 4096) +# define CDECL __cdecl +#else +# define CDECL +#endif + +#define PFB_MARKER 128 +#define PFB_ASCII 1 +#define PFB_BINARY 2 +#define PFB_DONE 3 + +struct font_reader { + void (*output_ascii)(char *, int); + void (*output_binary)(unsigned char *, int); + void (*output_end)(); +}; + +void process_pfa(FILE *, const char *filename, struct font_reader *); +void process_pfb(FILE *, const char *filename, struct font_reader *); + +struct pfb_writer { + unsigned char *buf; + unsigned len; + unsigned max_len; + unsigned pos; + int blocktyp; + int binary_blocks_written; + FILE *f; +}; + +void init_pfb_writer(struct pfb_writer *, int, FILE *); +void pfb_writer_output_block(struct pfb_writer *); +void pfb_writer_grow_buf(struct pfb_writer *); +void pfb_writer_end(struct pfb_writer *); +#define PFB_OUTPUT_BYTE(w, b) do { \ + if ((w)->pos >= (w)->len) pfb_writer_grow_buf(w); \ + (w)->buf[(w)->pos++] = (b); \ + } while (0) + +int crcbuf(int crc, unsigned int len, const char *buf); + +/* whoever uses this code must provide a definition for these functions */ +extern void error(const char *, ...); +extern void fatal_error(const char *, ...); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1mac.1 b/Build/source/utils/t1utils/t1utils-1.34/t1mac.1 new file mode 100644 index 00000000000..0c381c53fb5 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1mac.1 @@ -0,0 +1,62 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1MAC 1 "" "Version \*V" +.SH NAME +t1mac \- translate a PFA or PFB PostScript Type 1 font into Macintosh format +.SH SYNOPSIS +.B t1mac +\%[\fB\-\-macbinary\fR | \fB\-\-applesingle\fR | +\fB\-\-appledouble\fR | \fB\-\-binhex\fR | \fB\-\-raw\fR] +\%[\fB\-\-filename\fR \fIname\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1mac +reads a PFA (hexadecimal) or PFB (binary) PostScript Type 1 font file and +generates an equivalent Macintosh Type 1 font file. The output file can be +in MacBinary II, AppleSingle, AppleDouble, or BinHex format, or it can be a +raw resource fork. The default is MacBinary II; use an option to choose a +different format. If the +.I output +file is not specified output goes to the standard output. +.PP +WARNING: The output of +.B t1mac +is not sufficient to use the font, since Macintoshes can't read raw Type 1 +fonts. You will need to create a font suitcase containing bitmap fonts if +you do not have such a suitcase for the font already. +.B t1mac +cannot help you do this. +.SH OPTIONS +.TP 5 +.BR \-\-raw ", " \-r +Indicates that output should be a raw resource fork. +.TP 5 +.BR \-\-macbinary +Indicates that output should be in MacBinary I or II format. This is the +default. +.TP 5 +.BR \-\-applesingle +Indicates that output should be in AppleSingle format. +.TP 5 +.BR \-\-appledouble +Indicates that output should be in AppleDouble format. +.TP 5 +.BR \-\-binhex +Indicates that output should be in BinHex 4.0 format. +.TP 5 +.BR \-\-filename "=\fIname\fR, " \-n " \fIname\fR" +Sets the Macintosh filename of the output font to \fIname\fR. The default +is to construct the filename from the font's name using established +Macintosh conventions. This option is not useful when output is a raw +resource fork. +.SH "SEE ALSO" +.LP +.M t1unmac 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1asm 1 , +.M t1disasm 1 +.SH AUTHORS +Eddie Kohler (ekohler@gmail.com) diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1mac.c b/Build/source/utils/t1utils/t1utils-1.34/t1mac.c new file mode 100644 index 00000000000..0b01ba7a801 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1mac.c @@ -0,0 +1,1019 @@ +/* t1mac + * + * This program converts Type 1 fonts in PFA or PFB format into Macintosh Type + * 1 fonts stored in MacBinary (I or II), AppleSingle, AppleDouble, BinHex, or + * raw resource fork format. + * + * Copyright (c) 2000-2003 by Eddie Kohler, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned char byte; + +/* resource fork layout */ +#define RFORK_HEADERLEN 256 +#define RFORK_MAP_RESERVEDLEN 22 +#define RFORK_MAP_HEADERLEN 28 +#define RFORK_RTYPE_LEN 8 +#define RFORK_RSRC_LEN 12 + +/* Macintosh times are # seconds since 1/1/1904, not 1/1/1970 */ +#define MAC_TIME_DELTA 2082844800 + +/* POST resource information */ +#define POST_ASCII 1 +#define POST_BINARY 2 +#define POST_END 5 + +/* Adobe font file information */ +#define T1_FILETYPE 0x4C57464E /* LWFN */ +#define T1_FILECREATOR 0x54315554 /* T1UT */ +#define T1_FINDERFLAGS 33 /* Bundle + Inited */ + +#define MAX_RSRC_LEN 2048 +static byte rbuf[MAX_RSRC_LEN]; +static int rbufpos; +static int blocktyp; + +static char *font_name; + +/* information about the resources being built */ +typedef struct Rsrc { + int32_t type; + int id; + int attrs; + int data_offset; + uint32_t data_len; + int next_in_type; + int next_type; +} Rsrc; +static Rsrc *rsrc = 0; +static int nrsrc = 0; +static int rsrc_cap = 0; +static int cur_post_id = 0; + +/* output resource fork */ +static FILE *rfork_f = 0; + +/* ICN# data */ +static const unsigned char icon_bw_data[] = { +0,0,0,0,255,255,255,255,128,0,0,1,128,0,0,1,128,0,0,1, +128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0,33, +128,0,0,97,128,0,0,225,128,0,1,225,128,0,3,225,128,0,7,225, +128,0,15,225,128,0,31,225,128,0,55,225,159,128,103,249,144,128,199,9, +240,129,135,15,0,131,7,0,0,134,7,0,15,140,7,240,8,31,255,240, +8,63,255,240,8,96,7,240,8,192,7,240,9,192,15,240,11,224,31,240, +15,240,63,240,15,255,255,240,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,240,255,255,15,240,255,255,15,0,255,255,0,0,255,255,0, +15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240, +15,255,255,240,15,255,255,240,15,255,255,240,15,255,255,240,}; + +static const unsigned char small_icon_bw_data[] = { +255,255,128,1,128,1,128,1,128,5,128,13,128,29,128,61,128,125,184,253, +201,179,59,60,39,252,44,60,60,124,63,252,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,207,243,63,252,63,252,63,252, +63,252,63,252,}; + +static const unsigned char icon_8_data[] = { +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,92,92,92,92,105, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,5,5,92, +92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,5,5,5,5,92,92,92,92,105,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,5,5, +5,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,92,92,92,92,105, +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +5,5,5,5,5,5,5,92,92,92,92,105,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,5,5,92, +92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,5,5,92,5,5,5,5,5,5,92,92,92,92,105,92,92,92,105, +105,105,105,105,92,92,92,92,92,92,92,92,92,5,5,92,92,5,5,105, +105,105,105,105,92,92,92,105,92,92,92,105,0,0,0,0,92,92,92,92, +92,92,92,92,5,5,92,92,92,5,5,105,0,0,0,0,92,92,92,105, +105,105,105,105,0,0,0,0,92,92,92,92,92,92,92,5,5,92,92,92, +92,5,5,105,0,0,0,0,105,105,105,105,0,0,0,0,0,0,0,0, +92,92,92,92,92,92,5,5,92,92,92,92,92,5,5,105,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,92,92,92,92,92,5,5,92, +92,92,92,92,92,5,5,105,0,0,0,0,0,0,0,0,0,0,0,0, +92,92,92,92,92,92,92,92,5,5,92,92,92,92,92,92,92,5,5,5, +5,5,5,92,0,0,0,0,0,0,0,0,92,92,92,92,92,92,92,5, +5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,105,0,0,0,0, +0,0,0,0,92,92,92,92,92,92,5,5,5,5,5,5,5,5,5,5, +5,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0,92,92,92,92, +92,5,5,92,92,92,92,92,92,92,92,92,92,5,5,5,5,5,5,105, +0,0,0,0,0,0,0,0,92,92,92,92,5,5,92,92,92,92,92,92, +92,92,92,92,92,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0, +92,92,92,5,5,5,92,92,92,92,92,92,92,92,92,92,5,5,5,5, +5,5,5,105,0,0,0,0,0,0,0,0,92,92,5,5,5,5,5,92, +92,92,92,92,92,92,92,5,5,5,5,5,5,5,5,105,0,0,0,0, +0,0,0,0,92,5,5,5,5,5,5,5,92,92,92,92,92,92,5,5, +5,5,5,5,5,5,5,105,0,0,0,0,0,0,0,0,92,105,105,105, +105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105, +0,0,0,0,}; + +static const unsigned char small_icon_8_data[] = { +92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92, +92,92,92,92,92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92, +92,92,92,105,92,92,92,92,92,92,92,92,92,92,92,92,92,5,92,105, +92,92,92,92,92,92,92,92,92,92,92,92,5,5,92,105,92,92,92,92, +92,92,92,92,92,92,92,5,5,5,92,105,92,92,92,92,92,92,92,92, +92,92,5,5,5,5,92,105,92,92,92,92,92,92,92,92,92,5,92,5, +5,5,92,105,92,105,105,105,92,92,92,92,5,92,92,5,105,105,92,105, +92,105,0,0,92,92,92,5,92,92,92,5,0,0,105,105,0,0,92,92, +92,92,5,92,92,92,92,5,5,5,0,0,0,0,92,92,92,5,5,5, +5,5,5,5,5,5,0,0,0,0,92,92,5,92,92,92,92,92,92,5, +5,5,0,0,0,0,92,5,5,92,92,92,92,92,5,5,5,5,0,0, +0,0,5,5,5,5,105,105,105,5,5,5,5,5,0,0,}; + +static const unsigned char icon_4_data[] = { +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,69,69,69, +69,69,69,69,69,69,69,69,69,69,69,69,84,84,84,84,84,84,84,84, +84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69,69,69,69,69, +69,69,69,69,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,85, +69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,84,84,84,84, +84,84,84,84,84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69, +69,69,69,69,69,69,69,69,84,84,84,84,84,84,84,84,84,84,84,84, +84,84,84,85,69,69,69,69,69,69,69,69,69,69,69,69,69,21,69,69, +84,84,84,84,84,84,84,84,84,84,84,84,81,20,84,85,69,69,69,69, +69,69,69,69,69,69,69,69,17,21,69,69,84,84,84,84,84,84,84,84, +84,84,84,81,17,20,84,85,69,69,69,69,69,69,69,69,69,69,69,17, +17,21,69,69,84,84,84,84,84,84,84,84,84,84,81,17,17,20,84,85, +69,69,69,69,69,69,69,69,69,69,17,17,17,21,69,69,84,84,84,84, +84,84,84,84,84,81,17,17,17,20,84,85,69,69,69,69,69,69,69,69, +69,17,65,17,17,21,69,69,84,85,85,85,84,84,84,84,81,20,81,21, +85,85,84,85,69,69,0,0,69,69,69,69,17,69,65,21,0,0,69,69, +85,85,0,0,84,84,84,81,20,84,81,21,0,0,85,85,0,0,0,0, +69,69,69,17,69,69,65,21,0,0,0,0,0,0,0,0,84,84,81,20, +84,84,81,21,0,0,0,0,0,0,69,69,69,69,17,69,69,69,65,17, +17,30,0,0,0,0,84,84,84,81,17,17,17,17,17,17,17,21,0,0, +0,0,69,69,69,17,17,17,17,17,17,17,17,21,0,0,0,0,84,84, +81,20,84,84,84,84,81,17,17,21,0,0,0,0,69,69,17,69,69,69, +69,69,65,17,17,21,0,0,0,0,84,81,17,84,84,84,84,84,17,17, +17,21,0,0,0,0,69,17,17,21,69,69,69,65,17,17,17,21,0,0, +0,0,81,17,17,17,84,84,84,17,17,17,17,21,0,0,0,0,229,85, +85,85,85,85,85,85,85,85,85,85,0,0,}; + +static const unsigned char small_icon_4_data[] = { +84,84,84,84,84,84,84,85,69,69,69,69,69,69,69,69,84,84,84,84, +84,84,84,85,69,69,69,69,69,69,69,69,84,84,84,84,84,84,81,85, +69,69,69,69,69,69,17,69,84,84,84,84,84,81,17,85,69,69,69,69, +69,17,17,69,84,84,84,84,81,81,17,85,69,85,69,69,21,65,85,69, +85,0,84,81,84,81,0,85,0,69,69,21,69,65,17,0,0,84,81,17, +17,17,17,0,0,69,21,69,69,65,17,0,0,81,20,84,84,17,17,0, +0,17,17,85,81,17,17,0,}; + + +/* fseek with fatal_error */ + +static void +reposition(FILE *fi, int32_t absolute) +{ + if (fseek(fi, absolute, 0) == -1) + fatal_error("can't seek to position %d", absolute); +} + +/* Some functions to write one, two, three, and four byte integers in 68000 + byte order (most significant byte first). */ + +static void +write_one(int c, FILE *f) +{ + putc(c, f); +} + +static void +write_two(int c, FILE *f) +{ + putc((c >> 8) & 255, f); + putc(c & 255, f); +} + +static void +write_three(int32_t c, FILE *f) +{ + putc((c >> 16) & 255, f); + putc((c >> 8) & 255, f); + putc(c & 255, f); +} + +static void +write_four(int32_t c, FILE *f) +{ + putc((c >> 24) & 255, f); + putc((c >> 16) & 255, f); + putc((c >> 8) & 255, f); + putc(c & 255, f); +} + +/* Some functions to store one, two, three, and four byte integers in 68000 + byte order (most significant byte first). */ + +static void +store_one(int c, char *s) +{ + s[0] = (char)(c & 255); +} + +static void +store_two(int c, char *s) +{ + s[0] = (char)((c >> 8) & 255); + s[1] = (char)(c & 255); +} + +static void +store_four(int32_t c, char *s) +{ + s[0] = (char)((c >> 24) & 255); + s[1] = (char)((c >> 16) & 255); + s[2] = (char)((c >> 8) & 255); + s[3] = (char)(c & 255); +} + +static void +output_new_rsrc(const char *rtype, int rid, int attrs, + const char *data, uint32_t len) +{ + Rsrc *r; + if (nrsrc >= rsrc_cap) { + rsrc_cap = (rsrc_cap ? rsrc_cap * 2 : 256); + r = (Rsrc *)malloc(sizeof(Rsrc) * rsrc_cap); + if (!r) + fatal_error("out of memory"); + memcpy(r, rsrc, sizeof(Rsrc) * nrsrc); + free(rsrc); + rsrc = r; + } + r = &rsrc[nrsrc]; + nrsrc++; + + /* prepare resource record */ + { + const unsigned char *b = (const unsigned char *)rtype; + r->type = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]; + } + r->id = rid; + r->attrs = attrs; + if (nrsrc == 1) + r->data_offset = 0; + else + r->data_offset = rsrc[nrsrc-2].data_offset + rsrc[nrsrc-2].data_len + 4; + r->data_len = len; + r->next_in_type = r->next_type = -2; + + /* resource consists of length, then data */ + write_four(r->data_len, rfork_f); + fwrite(data, 1, len, rfork_f); +} + +static void +init_current_post(void) +{ + rbufpos = 2; + cur_post_id = 501; + blocktyp = POST_ASCII; +} + +static void +output_current_post(void) +{ + if (blocktyp != POST_END && rbufpos <= 2) + return; + rbuf[0] = blocktyp; + rbuf[1] = 0; + output_new_rsrc("POST", cur_post_id, 0, (char *)rbuf, rbufpos); + rbufpos = 2; + cur_post_id++; +} + +/* font_reader functions */ + +static void +t1mac_output_data(byte *s, int len) +{ + while (len > 0) { + int n; + /* In some Mac fonts, the ASCII sections terminate with a line-end */ + if (rbufpos >= MAX_RSRC_LEN + || (blocktyp == POST_ASCII && len + rbufpos > MAX_RSRC_LEN && rbufpos)) + output_current_post(); + n = (len + rbufpos <= MAX_RSRC_LEN ? len : MAX_RSRC_LEN - rbufpos); + memcpy(rbuf + rbufpos, s, n); + rbufpos += n; + s += n; + len -= n; + } +} + +static void +t1mac_output_ascii(char *s, int len) +{ + if (blocktyp == POST_BINARY) { + output_current_post(); + blocktyp = POST_ASCII; + } + /* Mac line endings */ + if (len > 0 && s[len-1] == '\n') + s[len-1] = '\r'; + t1mac_output_data((byte *)s, len); + if (strncmp(s, "/FontName", 9) == 0) { + for (s += 9; isspace(*s); s++) ; + if (*s == '/') { + const char *t = ++s; + while (*t && !isspace(*t)) t++; + free(font_name); + font_name = (char *)malloc(t - s + 1); + memcpy(font_name, s, t - s); + font_name[t - s] = 0; + } + } +} + +static void +t1mac_output_binary(unsigned char *s, int len) +{ + if (blocktyp == POST_ASCII) { + output_current_post(); + blocktyp = POST_BINARY; + } + t1mac_output_data(s, len); +} + +static void +t1mac_output_end(void) +{ + output_current_post(); + blocktyp = POST_END; + output_current_post(); +} + + +/* finish off the resource fork */ + +static uint32_t +complete_rfork(void) +{ + uint32_t reflist_offset, total_data_len; + uint32_t typelist_len; + int i, j, ntypes; + + /* analyze resources */ + { + int last_type = -1; + ntypes = 0; + for (i = 0; i < nrsrc; i++) + if (rsrc[i].next_in_type == -2) { + int last = -1; + if (last_type >= 0) + rsrc[last_type].next_type = i; + for (j = i; j < nrsrc; j++) + if (rsrc[j].type == rsrc[i].type) { + if (last >= 0) + rsrc[last].next_in_type = j; + last = j; + } + rsrc[last].next_in_type = -1; + last_type = i; + ntypes++; + } + } + + /* have just finished writing data */ + /* now write resource map */ + for (i = 0; i < RFORK_MAP_RESERVEDLEN; i++) + putc(0, rfork_f); /* reserved */ + write_two(0, rfork_f); /* resource fork attributes */ + typelist_len = ntypes * RFORK_RTYPE_LEN + 2; + write_two(RFORK_MAP_HEADERLEN, rfork_f); /* offset from start of map to typelist */ + write_two(RFORK_MAP_HEADERLEN + typelist_len + nrsrc * RFORK_RSRC_LEN, rfork_f); /* offset from start of map to namelist */ + + /* output type map */ + write_two(ntypes - 1, rfork_f);/* number of types - 1 */ + reflist_offset = typelist_len; + for (i = 0; i >= 0; i = rsrc[i].next_type) { + int n_in_type = 0; + for (j = i; j >= 0; j = rsrc[j].next_in_type) + n_in_type++; + write_four(rsrc[i].type, rfork_f); /* resource type */ + write_two(n_in_type - 1, rfork_f); /* number in type - 1 */ + write_two(reflist_offset, rfork_f); /* offset to reflist from start of typelist */ + reflist_offset += n_in_type * RFORK_RSRC_LEN; + } + + /* output reference list */ + for (i = 0; i >= 0; i = rsrc[i].next_type) + for (j = i; j >= 0; j = rsrc[j].next_in_type) { + write_two(rsrc[j].id, rfork_f); /* ID */ + write_two(-1, rfork_f); /* offset to name */ + write_one(rsrc[j].attrs, rfork_f); /* attributes */ + write_three(rsrc[j].data_offset, rfork_f); /* offset to data from start of data */ + write_four(0, rfork_f); /* reserved */ + } + + /* finally, patch up resource fork header */ + { + total_data_len = rsrc[nrsrc-1].data_offset + rsrc[nrsrc-1].data_len + 4; + reposition(rfork_f, 0); + write_four(RFORK_HEADERLEN, rfork_f); /* offset from rfork to data */ + write_four(RFORK_HEADERLEN + total_data_len, rfork_f); /* offset from rfork to map */ + write_four(total_data_len, rfork_f); /* length of data */ + write_four(RFORK_MAP_HEADERLEN + reflist_offset, rfork_f); /* length of map */ + } + + return RFORK_HEADERLEN + total_data_len + RFORK_MAP_HEADERLEN + reflist_offset; +} + + +/* write a MacBinary II file */ + +static void +output_raw(FILE *rf, int32_t len, FILE *f) +{ + char buf[2048]; + reposition(rf, 0); + while (len > 0) { + int n = (len < 2048 ? len : 2048); + fread(buf, 1, n, rf); + fwrite(buf, 1, n, f); + len -= n; + } +} + +static void +output_macbinary(FILE *rf, int32_t rf_len, const char *filename, FILE *f) +{ + int i, len = strlen(filename); + char buf[128]; + if (len < 1 || len > 63) + fatal_error("filename length must be between 1 and 63"); + store_one(0, buf+0); /* old version number */ + store_one(len, buf+1); /* filename length */ + memset(buf+2, 0, 63); /* filename padding */ + memcpy(buf+2, filename, len); /* filename */ + store_four(T1_FILETYPE, buf+65); /* file type */ + store_four(T1_FILECREATOR, buf+69); /* file creator */ + store_one(T1_FINDERFLAGS, buf+73); /* finder flags */ + store_one(0, buf+74); /* zero byte */ + store_two(0, buf+75); /* vertical position in window */ + store_two(0, buf+77); /* horizontal position in window */ + store_two(0, buf+79); /* window or folder ID */ + store_one(0, buf+81); /* protected flag */ + store_one(0, buf+82); /* zero byte */ + store_four(0, buf+83); /* data fork length */ + store_four(rf_len, buf+87); /* resource fork length */ + { + time_t t = time(0) + MAC_TIME_DELTA; + store_four(t, buf+91); /* creation date */ + store_four(t, buf+95); /* modification date */ + } + store_two(0, buf+99); /* GetInfo comment length */ + store_one(0, buf+101); /* finder flags part 2 */ + memset(buf+102, 0, 116 - 102); /* padding */ + store_four(0, buf+116); /* total length when unpacked */ + store_two(0, buf+120); /* length of secondary header */ + store_one(129, buf+122); /* version number */ + store_one(129, buf+123); /* minimum acceptable version number */ + store_two(crcbuf(0, 124, buf), buf+124); /* CRC */ + store_two(0, buf+126); /* padding to 128 bytes */ + + /* write out the header */ + fwrite(buf, 1, 128, f); + + /* now write resource fork */ + output_raw(rf, rf_len, f); + for (i = rf_len % 128; i && i < 128; i++) + putc(0, f); +} + + +/* write an AppleSingle file */ + +#define APPLESINGLE_MAGIC 0x00051600 +#define APPLEDOUBLE_MAGIC 0x00051607 +#define APPLESINGLE_VERSION 0x00020000 +#define APPLESINGLE_TIME_DELTA 883612800 +#define APPLESINGLE_HEADERLEN 26 +#define APPLESINGLE_ENTRYLEN 12 +#define APPLESINGLE_DFORK_ENTRY 1 +#define APPLESINGLE_RFORK_ENTRY 2 +#define APPLESINGLE_DATES_ENTRY 8 +#define APPLESINGLE_DATES_LEN 16 +#define APPLESINGLE_FINDERINFO_ENTRY 9 +#define APPLESINGLE_FINDERINFO_LEN 32 +#define APPLESINGLE_REALNAME_ENTRY 3 + +static void +output_applesingle(FILE *rf, int32_t rf_len, const char *filename, FILE *f, + int appledouble) +{ + uint32_t offset; + int i, nentries, len = strlen(filename); + if (appledouble) /* magic number */ + write_four(APPLEDOUBLE_MAGIC, f); + else + write_four(APPLESINGLE_MAGIC, f); + write_four(APPLESINGLE_VERSION, f); /* version number */ + for (i = 0; i < 4; i++) + write_four(0, f); /* filler */ + nentries = (appledouble ? 4 : 5); + write_two(nentries, f); /* number of entries */ + + /* real name entry */ + offset = APPLESINGLE_HEADERLEN + nentries * APPLESINGLE_ENTRYLEN; + write_four(APPLESINGLE_REALNAME_ENTRY, f); + write_four(offset, f); + write_four(len, f); + offset += len; + + /* time entry */ + write_four(APPLESINGLE_DATES_ENTRY, f); + write_four(offset, f); + write_four(APPLESINGLE_DATES_LEN, f); + offset += APPLESINGLE_DATES_LEN; + + /* finder info entry */ + write_four(APPLESINGLE_FINDERINFO_ENTRY, f); + write_four(offset, f); + write_four(APPLESINGLE_FINDERINFO_LEN, f); + offset += APPLESINGLE_FINDERINFO_LEN; + + /* resource fork entry */ + write_four(APPLESINGLE_RFORK_ENTRY, f); + write_four(offset, f); + write_four(rf_len, f); + offset += rf_len; + + /* data fork entry */ + if (!appledouble) { + write_four(APPLESINGLE_DFORK_ENTRY, f); + write_four(offset, f); + write_four(0, f); + } + + /* real name data */ + fwrite(filename, 1, len, f); + + /* time data */ + i = time(0) - APPLESINGLE_TIME_DELTA; + write_four(i, f); /* creation date */ + write_four(i, f); /* modification date */ + write_four(0x80000000, f); /* backup date */ + write_four(0, f); /* access date */ + + /* finder info data */ + write_four(T1_FILETYPE, f); /* file type */ + write_four(T1_FILECREATOR, f); /* file creator */ + write_one(T1_FINDERFLAGS, f); /* finder flags */ + write_one(0, f); /* extended finder flags */ + write_two(0, f); /* vertical position in window */ + write_two(0, f); /* horizontal position in window */ + write_two(0, f); /* window or folder ID */ + write_four(0, f); /* icon ID and reserved */ + write_four(0, f); /* reserved */ + write_one(0, f); /* script flag */ + write_one(0, f); /* reserved */ + write_two(0, f); /* comment ID */ + write_four(0, f); /* put away */ + + /* resource fork data */ + output_raw(rf, rf_len, f); +} + + +/* write a BinHex file */ + +static void +binhex_buffer(const byte *s, int len, FILE *f) +{ + static int col = 1; + static int bits = 0; + static int bitspos = 2; + static const char *table = "!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr"; + byte buf[5]; + int c, i, left; + + if (!s && bitspos > 2) { /* output the remaining bits */ + s = (const byte *)"\0"; + len = 1; + } + + for (left = len; left > 0; left--, s++) { + int pos; + if (s[0] == 0x90) { + buf[0] = 0x90; + buf[1] = 0x00; + pos = 2; + } else { + buf[0] = s[0]; + pos = 1; + } + + /* find a run */ + if (left > 2 && s[0] == s[1] && s[0] == s[2]) { + for (i = 3; i < left && i < 255; i++) + if (s[i] != s[0]) + break; + buf[pos] = 0x90; + buf[pos+1] = i; + pos += 2; + s += i - 1; + left -= i - 1; + } + + /* store those characters */ + for (i = 0; i < pos; i++) { + bits |= buf[i]; + while (bitspos >= 0) { + c = (bits >> bitspos) & 0x3F; + putc(table[c], f); + if (++col == 63) { + putc('\n', f); + col = 0; + } + bitspos -= 6; + } + bits <<= 8; + bitspos += 8; + } + } +} + +static void +output_binhex(FILE *rf, int32_t rf_len, const char *filename, FILE *f) +{ + int crc, len = strlen(filename); + char buf[2048]; + + if (len < 1 || len > 63) + fatal_error("filename length must be between 1 and 63"); + store_one(len, buf+0); /* filename length */ + memcpy(buf+1, filename, len); /* filename */ + store_one(0, buf+1+len); /* version */ + store_four(T1_FILETYPE, buf+2+len); /* file type */ + store_four(T1_FILECREATOR, buf+6+len); /* file creator */ + store_one(T1_FINDERFLAGS, buf+10+len); /* finder flags */ + store_one(0, buf+11+len); /* extended finder flags */ + store_four(0, buf+12+len); /* length of data fork */ + store_four(rf_len, buf+16+len); /* length of resource fork */ + store_two(crcbuf(0, 20+len, buf), buf+20+len); /* CRC */ + store_two(0, buf+22+len); /* data fork CRC */ + + /* output BinHex comment */ + fputs("(This file must be converted with BinHex 4.0)\n:", f); + + /* BinHex the header */ + binhex_buffer((const byte *)buf, 24+len, f); + + /* resource fork data */ + reposition(rf, 0); + crc = 0; + while (rf_len > 0) { + int n = (rf_len < 2048 ? rf_len : 2048); + fread(buf, 1, n, rf); + crc = crcbuf(crc, n, buf); /* update CRC */ + binhex_buffer((const byte *)buf, n, f); + rf_len -= n; + } + store_two(crc, buf); /* resource fork CRC */ + binhex_buffer((const byte *)buf, 2, f); + binhex_buffer(0, 0, f); /* get rid of any remaining bits */ + fputs(":\n", f); /* trailer */ +} + + +/***** + * command line + **/ + +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 +#define MACBINARY_OPT 304 +#define RAW_OPT 305 +#define APPLESINGLE_OPT 306 +#define APPLEDOUBLE_OPT 307 +#define BINHEX_OPT 308 +#define FILENAME_OPT 309 + +static Clp_Option options[] = { + { "appledouble", 0, APPLEDOUBLE_OPT, 0, 0 }, + { "applesingle", 0, APPLESINGLE_OPT, 0, 0 }, + { "binhex", 0, BINHEX_OPT, 0, 0 }, + { "help", 0, HELP_OPT, 0, 0 }, + { "macbinary", 0, MACBINARY_OPT, 0, 0 }, + { "filename", 'n', FILENAME_OPT, Clp_ArgString, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "raw", 'r', RAW_OPT, 0, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, +}; +static const char *program_name; + + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); +} + + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + + +static void +usage(void) +{ + printf("\ +`T1mac' translates a PostScript Type 1 font from PFA or PFB format into\n\ +Macintosh Type 1 format. The result can be written in MacBinary II format (the\n\ +default), AppleSingle format, AppleDouble format, or BinHex format, or as a\n\ +raw resource fork. It is sent to the standard output unless an OUTPUT file is\n\ +given.\n\ +\n\ +Usage: %s [OPTION]... [INPUT [OUTPUT]]\n\ +\n\ +Options:\n\ + -r, --raw Output is a raw Macintosh resource fork.\n\ + --macbinary Output is in MacBinary format (default).\n\ + --applesingle Output is in AppleSingle format.\n\ + --appledouble Output is in AppleDouble format.\n\ + --binhex Output is in BinHex format.\n\ + -n, --filename NAME Macintosh font filename will be NAME.\n\ + -o, --output FILE Write output to FILE.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + +#ifdef __cplusplus +} +#endif + + +int +main(int argc, char *argv[]) +{ + int i, c; + FILE *ifp = 0, *ofp = 0; + const char *ifp_filename = ""; + const char *ofp_filename = ""; + const char *set_font_name = 0; + struct font_reader fr; + uint32_t rfork_len; + int raw = 0, macbinary = 1, applesingle = 0, appledouble = 0, binhex = 0; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + case RAW_OPT: + raw = 1; + macbinary = applesingle = appledouble = binhex = 0; + break; + + case MACBINARY_OPT: + macbinary = 1; + raw = applesingle = appledouble = binhex = 0; + break; + + case APPLESINGLE_OPT: + applesingle = 1; + raw = macbinary = appledouble = binhex = 0; + break; + + case APPLEDOUBLE_OPT: + appledouble = 1; + raw = macbinary = applesingle = binhex = 0; + break; + + case BINHEX_OPT: + binhex = 1; + raw = macbinary = applesingle = appledouble = 0; + break; + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else { + ofp_filename = clp->arg; + ofp = fopen(ofp_filename, "wb"); + if (!ofp) fatal_error("%s: %s", ofp_filename, strerror(errno)); + } + break; + + case FILENAME_OPT: + if (set_font_name) + fatal_error("Macintosh font filename already specified"); + set_font_name = clp->arg; + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1mac (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 2000-2003 Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) + ifp = stdin; + else { + ifp_filename = clp->arg; + ifp = fopen(clp->arg, "r"); + if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!ifp) ifp = stdin; + if (!ofp) ofp = stdout; + +#if defined(_MSDOS) || defined(_WIN32) + /* As we are processing a PFB (binary) output */ + /* file, we must set its file mode to binary. */ + _setmode(_fileno(ofp), _O_BINARY); +#endif + + /* prepare font reader */ + fr.output_ascii = t1mac_output_ascii; + fr.output_binary = t1mac_output_binary; + fr.output_end = t1mac_output_end; + + /* prepare resource fork file */ + rfork_f = tmpfile(); + if (!rfork_f) + fatal_error("cannot open temorary file: %s", strerror(errno)); + for (i = 0; i < RFORK_HEADERLEN; i++) + putc(0, rfork_f); + init_current_post(); + + /* peek at first byte to see if it is the PFB marker 0x80 */ + c = getc(ifp); + ungetc(c, ifp); + + /* do the file */ + if (c == PFB_MARKER) + process_pfb(ifp, ifp_filename, &fr); + else if (c == '%') + process_pfa(ifp, ifp_filename, &fr); + else + fatal_error("%s does not start with font marker (`%%' or 0x80)", ifp_filename); + if (ifp != stdin) + fclose(ifp); + + /* check if anything was read */ + if (nrsrc == 0) + error("no POST resources written -- are you sure this was a font?"); + + /* output large B/W icon */ + output_new_rsrc("ICN#", 256, 32, (const char *)icon_bw_data, 256); + /* output FREF */ + output_new_rsrc("FREF", 256, 32, "LWFN\0\0\0", 7); + /* output BNDL */ + output_new_rsrc("BNDL", 256, 32, "T1UT\0\0\0\1FREF\0\0\0\0\1\0ICN#\0\0\0\0\1\0", 28); + /* output other icons */ + output_new_rsrc("icl8", 256, 32, (const char *)icon_8_data, 1024); + output_new_rsrc("icl4", 256, 32, (const char *)icon_4_data, 512); + output_new_rsrc("ics#", 256, 32, (const char *)small_icon_bw_data, 64); + output_new_rsrc("ics8", 256, 32, (const char *)small_icon_8_data, 256); + output_new_rsrc("ics4", 256, 32, (const char *)small_icon_4_data, 128); + /* output T1UT (signature) */ + output_new_rsrc("T1UT", 0, 0, "DConverted by t1mac (t1utils) \251Eddie Kohler http://www.lcdf.org/type/", 69); + + /* finish off resource file */ + rfork_len = complete_rfork(); + + /* prepare font name */ + if (!set_font_name && font_name) { + int part = 0, len = 0; + char *x, *s; + for (x = s = font_name; *s; s++) + if (isupper(*s) || isdigit(*s)) { + *x++ = *s; + part++; + len = 1; + } else if (islower(*s)) { + if (len < (part <= 1 ? 5 : 3)) + *x++ = *s; + len++; + } + *x++ = 0; + set_font_name = font_name; + } else if (!set_font_name) + set_font_name = "Unknown Font"; + + /* now, output the file */ + if (macbinary) + output_macbinary(rfork_f, rfork_len, set_font_name, ofp); + else if (raw) + output_raw(rfork_f, rfork_len, ofp); + else if (applesingle || appledouble) + output_applesingle(rfork_f, rfork_len, set_font_name, ofp, appledouble); + else if (binhex) + output_binhex(rfork_f, rfork_len, set_font_name, ofp); + else + fatal_error("strange output format"); + fclose(rfork_f); + + if (ofp != stdout) + fclose(ofp); + return 0; +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1unmac.1 b/Build/source/utils/t1utils/t1utils-1.34/t1unmac.1 new file mode 100644 index 00000000000..033530d9767 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1unmac.1 @@ -0,0 +1,79 @@ +.ds V 1.34 +.de M +.BR "\\$1" "(\\$2)\\$3" +.. +.TH T1UNMAC 1 "" "Version \*V" +.SH NAME +t1unmac \- translate a Mac PostScript Type 1 font into PFA or PFB format +.SH SYNOPSIS +.B t1unmac +\%[\fB\-a\fR|\fB\-b\fR] +\%[\fB\-r\fR] +\%[\fIinput\fR [\fIoutput\fR]] +.SH DESCRIPTION +.B t1unmac +extracts POST resources from a Macintosh PostScript font file and creates a +PFA (hexadecimal) or PFB (binary) font file. The file +.I input +should be in MacBinary I or II, AppleSingle, AppleDouble, or BinHex format, +or it can be a raw resource fork. If the file is a raw resource fork, you +need to give the `\-\-raw' option; otherwise +.B t1unmac +should automatically figure out what kind of file you have. If the file +.I output +is not specified output goes to the standard output. +.SH OPTIONS +.TP 5 +.BR \-\-pfa ", " \-a +Output in PFA (ASCII) format. +.TP 5 +.BR \-\-pfb ", " \-b +Output in PFB (binary) format. This is the default. +.TP 5 +.BR \-\-raw ", " \-r +Indicates that the input is a raw resource fork. +.TP 5 +.BR \-\-macbinary +Indicates that the input is in MacBinary I or II format. +.TP 5 +.BR \-\-applesingle +Indicates that the input is in AppleSingle format. +.TP 5 +.BR \-\-appledouble +Indicates that the input is in AppleDouble format. +.TP 5 +.BR \-\-binhex +Indicates that the input is in BinHex 4.0 format. +.TP +.BI \-\-block\-length= "num\fR, " \-l " num" +PFB only: Set the maximum output block length to +.I num. +The default length is as large as memory allows. +.TP +.BI \-\-line\-length= "num\fR, " \-l " num" +PFA only: Set the maximum length of encrypted lines in the output to +.I num. +(These are the lines consisting wholly of hexadecimal digits.) The default +is 64. +.SH EXAMPLES +.LP +On Mac OS X, you can use +.B t1unmac +to translate a font into PFA or PFB format as follows: +.nf +% \fBt1unmac\fR --raw FONTFILENAME/..namedfork/rsrc > OUTPUT +.fi +.SH "SEE ALSO" +.LP +.M t1mac 1 , +.M t1ascii 1 , +.M t1binary 1 , +.M t1asm 1 , +.M t1disasm 1 +.SH AUTHORS +Lee Hetherington (ilh@lcs.mit.edu) +.br +Eddie Kohler (ekohler@gmail.com) +.PP +Ported to Microsoft C/C++ Compiler and MS-DOS operating system by +Kai-Uwe Herbing (herbing@netmbx.netmbx.de). diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1unmac.c b/Build/source/utils/t1utils/t1utils-1.34/t1unmac.c new file mode 100644 index 00000000000..952c0e9ed65 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1unmac.c @@ -0,0 +1,918 @@ +/* t1unmac/unpost + * + * This program converts Macintosh Type 1 fonts stored in MacBinary (I or II), + * AppleSingle, AppleDouble, BinHex, or raw resource fork format to PFA and + * PFB formats. + * + * Copyright (c) 1992 by I. Lee Hetherington, all rights reserved. + * + * Permission is hereby granted to use, modify, and distribute this program + * for any purpose provided this copyright notice and the one below remain + * intact. + * + * I. Lee Hetherington (ilh@lcs.mit.edu) + * + * 1.5 and later versions contain changes by, and are maintained by, + * Eddie Kohler . + * + * New change log in `NEWS'. Old change log: + * + * Revision 1.2 92/06/23 10:57:33 ilh + * MSDOS porting by Kai-Uwe Herbing (herbing@netmbx.netmbx.de) + * incoporated. + * + * Revision 1.1 92/05/22 12:07:49 ilh + * initial version + * + * Ported to Microsoft C/C++ Compiler and MS-DOS operating system by + * Kai-Uwe Herbing (herbing@netmbx.netmbx.de) on June 12, 1992. Code + * specific to the MS-DOS version is encapsulated with #ifdef _MSDOS + * ... #endif, where _MSDOS is an identifier, which is automatically + * defined, if you compile with the Microsoft C/C++ Compiler. + * */ + +/* Note: this is ANSI C. */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#if defined(_MSDOS) || defined(_WIN32) +# include +# include +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include "t1lib.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Some functions to read one, two, three, and four byte integers in 68000 + byte order (most significant byte first). */ + +static int +read_one(FILE *fi) +{ + return getc(fi); +} + +static int +read_two(FILE *fi) +{ + int val; + + val = getc(fi); + val = (val << 8) | getc(fi); + + return val; +} + +static int32_t +read_three(FILE *fi) +{ + int32_t val; + + val = getc(fi); + val = (val << 8) | getc(fi); + val = (val << 8) | getc(fi); + + return val; +} + +static int32_t +read_four(FILE *fi) +{ + int32_t val; + + val = getc(fi); + val = (val << 8) | getc(fi); + val = (val << 8) | getc(fi); + val = (val << 8) | getc(fi); + + return val; +} + +/* reposition a file with error messages */ + +static void +reposition(FILE *fi, int32_t absolute) +{ + if (fseek(fi, absolute, 0) == -1) + fatal_error("can't seek to position %d\n\ + (The Mac file may be corrupted, or you may need the `-r' option.)", + absolute); +} + +static int blocklen = -1; + +static int hex_column = 0; /* current column of hex ASCII output */ + +static void +output_hex_byte(FILE *fo, int b) +{ + static const char *hex = "0123456789abcdef"; + + if (hex_column >= blocklen) { + putc('\n', fo); + hex_column = 0; + } + putc(hex[b >> 4], fo); + putc(hex[b & 0xf], fo); + hex_column += 2; +} + +/* Function to extract a particular POST resource. Offset points to the four + byte length which is followed by the data. The first byte of the POST data + specifies resource type: 1 for ASCII, 2 for binary, and 5 for end. The + second byte is always zero. */ + + +/* Function to write four byte length to PFB file: least significant byte + first. */ + +static int +extract_data(FILE *fi, FILE *fo, struct pfb_writer *w, int32_t offset, int pfb) +{ + enum PS_type { PS_ascii = 1, PS_binary = 2, PS_end = 5 }; + static int last_type = -1; + static int skip_newline = 0; + int32_t len; + int more = 1; + int i, c; + + reposition(fi, offset); + len = read_four(fi) - 2; /* subtract type field */ + + switch ((enum PS_type)read_one(fi)) { + + case PS_ascii: { + (void) read_one(fi); + if (last_type != PFB_ASCII && pfb) { + pfb_writer_output_block(w); + w->blocktyp = PFB_ASCII; + } + for (i = 0; i < len; i++) { + c = read_one(fi); + if (c == '\n' && skip_newline) { + skip_newline = 0; + continue; + } + if (c == '\r') { + c = '\n'; + skip_newline = 1; + } else + skip_newline = 0; + if (pfb) + PFB_OUTPUT_BYTE(w, c); + else + putc(c, fo); + } + last_type = PFB_ASCII; + break; + } + + case PS_binary: { + (void) read_one(fi); + if (last_type != PFB_BINARY && pfb) { + pfb_writer_output_block(w); + w->blocktyp = PFB_BINARY; + } else if (last_type != PFB_BINARY) + hex_column = 0; + if (pfb) { + while (len--) + PFB_OUTPUT_BYTE(w, read_one(fi)); + } else { + while (len--) + output_hex_byte(fo, read_one(fi)); + } + last_type = PFB_BINARY; + break; + } + + case PS_end: + more = 0; + break; + + } + + return more; +} + + +/***** + * Command line + **/ + +#define OUTPUT_OPT 301 +#define VERSION_OPT 302 +#define HELP_OPT 303 +#define PFB_OPT 304 +#define PFA_OPT 305 +#define MACBINARY_OPT 306 +#define RAW_OPT 307 +#define LINE_LEN_OPT 308 +#define APPLEDOUBLE_OPT 309 +#define BINHEX_OPT 310 + +static Clp_Option options[] = { + { "applesingle", 0, APPLEDOUBLE_OPT, 0, 0 }, + { "appledouble", 0, APPLEDOUBLE_OPT, 0, 0 }, + { "binhex", 0, BINHEX_OPT, 0, 0 }, + { "block-length", 0, LINE_LEN_OPT, Clp_ArgUnsigned, 0 }, + { "help", 0, HELP_OPT, 0, 0 }, + { "line-length", 'l', LINE_LEN_OPT, Clp_ArgUnsigned, 0 }, + { "macbinary", 0, MACBINARY_OPT, 0, 0 }, + { "output", 'o', OUTPUT_OPT, Clp_ArgString, 0 }, + { "pfa", 'a', PFA_OPT, 0, 0 }, + { "pfb", 'b', PFB_OPT, 0, 0 }, + { "raw", 'r', RAW_OPT, 0, 0 }, + { "version", 0, VERSION_OPT, 0, 0 }, +}; +static const char *program_name; + +void +fatal_error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); + exit(1); +} + +void +error(const char *message, ...) +{ + va_list val; + va_start(val, message); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, message, val); + putc('\n', stderr); +} + +static void +short_usage(void) +{ + fprintf(stderr, "Usage: %s [OPTION]... INPUT [OUTPUT]\n\ +Try `%s --help' for more information.\n", + program_name, program_name); +} + +static void +usage(void) +{ + printf("\ +`T1unmac' extracts a PostScript Type 1 font from a Macintosh font file. It can\n\ +read MacBinary, AppleSingle, AppleDouble, or BinHex files, or raw Macintosh\n\ +resource forks. The result is written to the standard output unless an OUTPUT\n\ +file is given.\n\ +\n\ +Usage: %s [OPTION]... INPUT [OUTPUT]\n\ +\n\ +Options:\n\ + -r, --raw Input is a raw Macintosh resource fork.\n\ + --macbinary Input is in MacBinary format.\n\ + --applesingle Input is in AppleSingle format.\n\ + --appledouble Input is in AppleDouble format.\n\ + --binhex Input is in BinHex format.\n\ + -a, --pfa Output font in ASCII (PFA) format.\n\ + -b, --pfb Output font in binary (PFB) format. This is\n\ + the default.\n\ + -l, --block-length NUM Set max block length for PFB output.\n\ + -l, --line-length NUM Set max encrypted line length for PFA output.\n\ + -o, --output FILE Write output to FILE.\n\ + -h, --help Print this message and exit.\n\ + --version Print version number and warranty and exit.\n\ +\n\ +Report bugs to .\n", program_name); +} + + +static const char * +check_macbinary(FILE *ifp) +{ + int i, j; + char buf[124]; + + /* check "version" bytes at offsets 0 and 74 */ + reposition(ifp, 0); + if (read_one(ifp) != 0) + return "bad version byte"; + reposition(ifp, 74); + if (read_one(ifp) != 0) + return "bad version byte"; + +#if 0 + /* write out bullshit */ + {int t; + reposition(ifp, 65); + t = read_four(ifp); + fprintf(stderr, "Type %c%c%c%c\n", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255); + t = read_four(ifp); + fprintf(stderr, "Creator %c%c%c%c\n", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255); + t = read_one(ifp); + fprintf(stderr, "Finder flags 1 %02x\n", t); + read_one(ifp); + t = read_two(ifp); + fprintf(stderr, "horizpos %04x\n", t); + t = read_two(ifp); + fprintf(stderr, "vertpos %04x\n", t); + t = read_two(ifp); + fprintf(stderr, "folder id %d\n", t); + t = read_one(ifp); + fprintf(stderr, "protected? %x\n", t); + t = read_one(ifp); + t = read_four(ifp); + fprintf(stderr, "data len %d\n", t); + t = read_four(ifp); + fprintf(stderr, "rsrc len %d\n", t); + t = read_four(ifp); + { + struct tm *crap; + fprintf(stderr, "creation date %x\n", t); + t -= 2082844800; + fprintf(stderr, " %s\n", ctime(&t)); + t = read_four(ifp); + fprintf(stderr, "modification date %x\n", t); + t -= 2082844800; + fprintf(stderr, " %s\n", ctime(&t)); + t = read_two(ifp); + } + fprintf(stderr, "getinfo len %d\n", t); + t = read_one(ifp); + fprintf(stderr, "finderflags 2 %02x\n", t); + reposition(ifp, 116); + t = read_four(ifp); + fprintf(stderr, "total len %d\n", t); + t = read_two(ifp); + fprintf(stderr, "secondary header len %d\n", t); + t = read_one(ifp); + fprintf(stderr, "version %d\n", t); + t = read_one(ifp); + fprintf(stderr, "version %d\n", t); + } +#endif + + /* check file length */ + reposition(ifp, 1); + i = read_one(ifp); + if (i > 63) + return "bad length"; + reposition(ifp, 83); + i = read_four(ifp); + j = read_four(ifp); + if (i < 0 || j < 0 || i >= 0x800000 || j >= 0x800000) + return "bad length"; + + /* check CRC */ + reposition(ifp, 0); + fread(buf, 1, 124, ifp); + if (crcbuf(0, 124, buf) != read_two(ifp)) { + reposition(ifp, 82); + if (read_one(ifp) != 0) + return "bad checksum"; + } + + return 0; +} + +#define APPLESINGLE_MAGIC 0x00051600 +#define APPLEDOUBLE_MAGIC 0x00051607 + +static const char * +check_appledouble(FILE *ifp) +{ + int i; + reposition(ifp, 0); + i = read_four(ifp); + if (i != APPLEDOUBLE_MAGIC && i != APPLESINGLE_MAGIC) + return "bad magic number"; + + return 0; +} + +static const char * +translate_binhex(FILE *f, FILE *tmpf) +{ + int i, c = 0, last_char, after_x90, bits, bitpos; + unsigned char value_table[256]; + + /* prepare value table */ + { + const char *table = "!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr"; + for (i = 0; i < 256; i++) + value_table[i] = 255; + for (i = 0; *table; i++, table++) + value_table[(unsigned char)*table] = i; + } + + /* skip to comment */ + { + const char *comment = "(This file must be converted with BinHex"; + while (!feof(f)) { + const char *s; + for (s = comment; *s; s++) { + c = getc(f); + if (c != *s) + break; + } + /* skip to end of line */ + while (c >= 0 && c != '\n' && c != '\r') + c = getc(f); + /* stop if read comment */ + if (!*s) + goto found_comment; + } + /* failed */ + return "no comment"; + } + + found_comment: + /* skip spaces, look for ':' */ + for (c = ' '; isspace(c); c = getc(f)) ; + if (c != ':') + return "no file-start character"; + + /* found ':', process until you find another ':' */ + last_char = -1; + after_x90 = bits = 0; + bitpos = 10; + for (c = getc(f); c >= 0; c = getc(f)) + if (!isspace(c)) { + /* add 6 bits to bits */ + if (value_table[c] == 255) + break; + bits |= (value_table[c] << bitpos); + bitpos -= 6; + + /* output character(s) */ + if (bitpos <= 2) { + int d = bits >> 8; + bits = (bits << 8) & 0xFF00; + bitpos += 8; + if (after_x90) { + /* handle compression */ + if (d == 0) { + last_char = 0x90; + putc(0x90, tmpf); + } else + for (i = 1; i < d; i++) + putc(last_char, tmpf); + after_x90 = 0; + } else if (d == 0x90) + after_x90 = 1; + else { + last_char = d; + putc(d, tmpf); + } + } + } + + if (c < 0) + return "unexpected EOF"; + else if (c != ':') + return "bad character"; + + fflush(tmpf); + return 0; +} + +static int +check_binhex_crc(FILE *f, int offset, int length) +{ + int crc = 0; + char buf[2048]; + reposition(f, offset); + while (length > 0) { + int n = (length < 2048 ? length : 2048); + fread(buf, 1, n, f); + crc = crcbuf(crc, n, buf); + length -= n; + } + return crc == 0; +} + +static const char * +check_binhex(FILE *f) +{ + int fname_len, data_len, rsrc_len, off; + + /* check lengths */ + reposition(f, 0); + fname_len = read_one(f); + if (fname_len < 1 || fname_len > 63) + return "bad length"; + reposition(f, 1 + fname_len + 11); + data_len = read_four(f); + rsrc_len = read_four(f); + if (data_len < 0 || rsrc_len < 0 || data_len >= 0x800000 || rsrc_len >= 0x800000) + return "bad length"; + + /* check version */ + reposition(f, 1 + fname_len); + if (read_one(f) != 0) + return "bad version"; + + /* check CRC */ + off = 1 + fname_len + 21; + if (!check_binhex_crc(f, 0, off)) + return "bad header CRC"; + if (!check_binhex_crc(f, off, data_len + 2)) + return "bad data CRC"; + if (!check_binhex_crc(f, off + data_len + 2, rsrc_len + 2)) + return "bad resource fork CRC"; + + return 0; +} + +#ifdef __cplusplus +} +#endif + + +int +main(int argc, char *argv[]) +{ + FILE *ifp = 0; + FILE *ofp = 0; + struct pfb_writer w; + const char *ifp_name = ""; + int32_t res_offset, res_data_offset, res_map_offset, type_list_offset; + int32_t post_type; + int num_types, num_extracted = 0, pfb = 1; + int raw = 0, appledouble = 0, binhex = 0, macbinary = 0; + + Clp_Parser *clp = + Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options); + program_name = Clp_ProgramName(clp); + + /* interpret command line arguments using CLP */ + while (1) { + int opt = Clp_Next(clp); + switch (opt) { + + case RAW_OPT: + raw = 1; + appledouble = binhex = macbinary = 0; + break; + + case MACBINARY_OPT: + macbinary = 1; + raw = appledouble = binhex = 0; + break; + + case APPLEDOUBLE_OPT: + appledouble = 1; + raw = binhex = macbinary = 0; + break; + + case BINHEX_OPT: + binhex = 1; + raw = appledouble = macbinary = 0; + break; + + output_file: + case OUTPUT_OPT: + if (ofp) + fatal_error("output file already specified"); + if (strcmp(clp->arg, "-") == 0) + ofp = stdout; + else { + ofp = fopen(clp->arg, "w"); + if (!ofp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case PFB_OPT: + pfb = 1; + break; + + case PFA_OPT: + pfb = 0; + break; + + case LINE_LEN_OPT: + blocklen = clp->val.i; + break; + + case HELP_OPT: + usage(); + exit(0); + break; + + case VERSION_OPT: + printf("t1unmac (LCDF t1utils) %s\n", VERSION); + printf("Copyright (C) 1992-2003 I. Lee Hetherington, Eddie Kohler et al.\n\ +This is free software; see the source for copying conditions.\n\ +There is NO warranty, not even for merchantability or fitness for a\n\ +particular purpose.\n"); + exit(0); + break; + + case Clp_NotOption: + if (ifp && ofp) + fatal_error("too many arguments"); + else if (ifp) + goto output_file; + if (strcmp(clp->arg, "-") == 0) + ifp = stdin; + else { + ifp_name = clp->arg; + ifp = fopen(clp->arg, "rb"); + if (!ifp) fatal_error("%s: %s", clp->arg, strerror(errno)); + } + break; + + case Clp_Done: + goto done; + + case Clp_BadOption: + short_usage(); + exit(1); + break; + + } + } + + done: + if (!ifp) ifp = stdin; + if (!ofp) ofp = stdout; + +#if defined(_MSDOS) || defined(_WIN32) + _setmode(_fileno(ifp), _O_BINARY); + /* If we are processing a PFB (binary) output */ + /* file, we must set its file mode to binary. */ + if (pfb) + _setmode(_fileno(ofp), _O_BINARY); +#endif + + if (pfb) + init_pfb_writer(&w, blocklen, ofp); + else { + if (blocklen == -1) + blocklen = 64; + else if (blocklen < 8) { + blocklen = 8; + error("warning: line length raised to %d", blocklen); + } else if (blocklen > 1024) { + blocklen = 1024; + error("warning: line length lowered to %d", blocklen); + } + } + + /* check for non-seekable input */ + if (fseek(ifp, 0, 0)) { + char buf[2048]; + FILE *tmp = tmpfile(); + if (!tmp) + fatal_error("cannot open temporary file: %s", strerror(errno)); + while (!feof(ifp)) { + int i = fread(buf, 1, 2048, ifp); + if (i > 0) + fwrite(buf, 1, i, tmp); + } + if (ferror(ifp)) + fatal_error("%s: %s", ifp_name, strerror(errno)); + reposition(tmp, 0); + fflush(tmp); + if (ifp != stdin) + fclose(ifp); + ifp = tmp; + } + + /* check for empty file */ + fseek(ifp, 0, 2); + if (ftell(ifp) == 0) + fatal_error("%s: empty file\n\ + (Try re-transferring the files using MacBinary format.)", + ifp_name); + + reposition(ifp, 0); + if (!raw && !appledouble && !binhex && !macbinary) { + /* check magic number, try to figure out what it is */ + int i, magic; + magic = read_four(ifp); + reposition(ifp, 0); + + if (magic == APPLESINGLE_MAGIC || magic == APPLEDOUBLE_MAGIC) + appledouble = 1; + else if ((magic & 0xFF000000) == 0) + macbinary = 1; + else { + binhex = 1; + for (i = 0; i < 4; i++, magic >>= 8) + if (!isprint(magic & 0xFF) && !isspace(magic & 0xFF)) + /* not an ASCII character, assume not BinHex */ + binhex = 0; + } + + if (!appledouble && !macbinary && !binhex) + fatal_error("%s: unknown file type", ifp_name); + } + + if (raw) { + /* raw resource file */ + res_offset = 0; + + } else if (macbinary) { /* MacBinary (I or II) file */ + const char *check; + int32_t data_fork_size; + + /* check integrity of file */ + check = check_macbinary(ifp); + if (check) + fatal_error("%s: not a MacBinary file (%s)", ifp_name, check); + + /* read data and resource fork sizes in MacBinary header */ + reposition(ifp, 83); + data_fork_size = read_four(ifp); + (void) read_four(ifp); + + /* round data_fork_size up to multiple of 128 */ + if (data_fork_size % 128) + data_fork_size += 128 - data_fork_size % 128; + + res_offset = 128 + data_fork_size; + + } else if (appledouble) { /* AppleDouble file */ + const char *check; + const char *applewhat; + int i, n; + + /* check integrity */ + check = check_appledouble(ifp); + if (check) + fatal_error("%s: not an AppleDouble file (%s)", ifp_name, check); + reposition(ifp, 0); + if (read_four(ifp) == APPLESINGLE_MAGIC) + applewhat = "AppleSingle"; + else + applewhat = "AppleDouble"; + + /* find offset to resource and/or data fork */ + reposition(ifp, 24); + n = read_two(ifp); + res_offset = -1; + for (i = 0; i < n; i++) { + int type = read_four(ifp); + if (type == 0) + fatal_error("%s: bad %s file (bad entry descriptor)", ifp_name, applewhat); + if (type == 2) /* resource fork entry */ + res_offset = read_four(ifp); + else + (void) read_four(ifp); + (void) read_four(ifp); + } + if (res_offset < 0) + fatal_error("%s: bad %s file (no resource fork)", ifp_name, applewhat); + + } else if (binhex) { /* BinHex file */ + const char *check; + FILE *tmpf = tmpfile(); + if (!tmpf) + fatal_error("cannot open temporary file: %s", strerror(errno)); + + /* check integrity */ + check = translate_binhex(ifp, tmpf); + if (check) + fatal_error("%s: not a BinHex file (%s)", ifp_name, check); + check = check_binhex(tmpf); + if (check) + fatal_error("%s: bad BinHex file (%s)", ifp_name, check); + + /* find resource offset */ + reposition(tmpf, 0); + res_offset = read_one(tmpf); + reposition(tmpf, 1 + res_offset + 11); + res_offset += 22 + read_four(tmpf) + 2; + if (ifp != stdin) + fclose(ifp); + ifp = tmpf; + + } else { + fatal_error("%s: strange format", ifp_name); + exit(1); + } + + /* read offsets from resource fork header */ + reposition(ifp, res_offset); + res_data_offset = res_offset + read_four(ifp); + res_map_offset = res_offset + read_four(ifp); + + /* read type list offset from resource map header */ + reposition(ifp, res_map_offset + 24); + type_list_offset = res_map_offset + read_two(ifp); + + /* read type list */ + reposition(ifp, type_list_offset); + num_types = read_two(ifp) + 1; + + /* find POST type */ + post_type = (int32_t)('P' & 0xff) << 24; + post_type |= (int32_t)('O' & 0xff) << 16; + post_type |= (int32_t)('S' & 0xff) << 8; + post_type |= (int32_t)('T' & 0xff); + + while (num_types--) { + if (read_four(ifp) == post_type) { + int nrsrc = 1 + read_two(ifp); + int list_offset = type_list_offset + read_two(ifp); + int rsrc_pos = 0; + int want_id = 501; + int second_time = 1; + reposition(ifp, list_offset); + /* read resources sequentially, starting with ID 501, until we encounter + an "end" resource or we can't find the next resource */ + while (rsrc_pos < nrsrc) { + int offset = ftell(ifp); + int id = read_two(ifp); + if (id == want_id) { + (void) read_two(ifp); + (void) read_one(ifp); + num_extracted++; + if (!extract_data(ifp, ofp, &w, res_data_offset + read_three(ifp), pfb)) + break; + second_time = 0; + want_id++; + } + reposition(ifp, offset + 12); + rsrc_pos++; + if (rsrc_pos >= nrsrc && !second_time) { + reposition(ifp, list_offset); + rsrc_pos = 0; + } + } + break; + } else { + (void) read_two(ifp); + (void) read_two(ifp); + } + } + +#if 0 + system("/bin/rm -f /tmp/x.*"); + { + FILE *f; + int i; + reposition(ifp, res_offset + 16); + if ((f = fopen("/tmp/x.systemarea", "wb"))) { + for (i = res_offset + 16; i < res_data_offset; i++) { + putc(getc(ifp), f); + } + fclose(f); + } + } + reposition(ifp, type_list_offset); + num_types = read_two(ifp) + 1; + while (num_types--) { + int t = read_four(ifp); + int num_of_type = 1 + read_two(ifp); + int32_t save_offset = ftell(ifp) + 2; + reposition(ifp, type_list_offset + read_two(ifp)); + while (num_of_type--) { + FILE *f; + char buf[2048]; + int x, i, attrs; + x = ftell(ifp); + i = read_two(ifp); /* ID */ + read_two(ifp); + attrs = read_one(ifp); + sprintf(buf, "/tmp/x.%c%c%c%c.%d", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255, i); + fprintf(stderr, "%c%c%c%c.%d %d", (t>>24)&255, (t>>16)&255, (t>>8)&255, t&255, i, attrs); + if ((f = fopen(buf, "wb"))) { + int l; + reposition(ifp, res_data_offset + read_three(ifp)); + l = read_four(ifp); + fprintf(stderr, " %d\n", l); + while (l > 0) { + int n = (l < 2048 ? l : 2048); + fread(buf, 1, n, ifp); + fwrite(buf, 1, n, f); + l -= n; + } + fclose(f); + } + reposition(ifp, x + 12); + } + reposition(ifp, save_offset); + } +#endif + + if (pfb) + pfb_writer_end(&w); + if (num_extracted == 0) + error("%s: not a Type 1 font (no POST resources)", ifp_name); + + fclose(ifp); + fclose(ofp); + return 0; +} diff --git a/Build/source/utils/t1utils/t1utils-1.34/t1utils.spec b/Build/source/utils/t1utils/t1utils-1.34/t1utils.spec new file mode 100644 index 00000000000..8bb3a9019c5 --- /dev/null +++ b/Build/source/utils/t1utils/t1utils-1.34/t1utils.spec @@ -0,0 +1,53 @@ +Summary: Programs for manipulating PostScript Type 1 fonts + +Name: t1utils +Version: 1.34 +Release: 1 +Source: http://www.lcdf.org/type/t1utils-1.34.tar.gz + +URL: http://www.lcdf.org/type/ + +Group: Utilities/Printing +Vendor: Little Cambridgeport Design Factory +Packager: Eddie Kohler +License: freely modifiable and distributable + +BuildRoot: /tmp/t1utils-build + +%description +The t1utils package is a set of programs for +manipulating PostScript Type 1 fonts. It contains +programs to change between binary PFB format (for +storage), ASCII PFA format (for printing), a +human-readable and -editable ASCII format, and +Macintosh resource forks. + +%prep +%setup + +%build +%configure +make + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT + +%files +%attr(-,root,root) %doc NEWS README +%attr(0755,root,root) %{_bindir}/t1ascii +%attr(0755,root,root) %{_bindir}/t1binary +%attr(0755,root,root) %{_bindir}/t1asm +%attr(0755,root,root) %{_bindir}/t1disasm +%attr(0755,root,root) %{_bindir}/t1unmac +%attr(0755,root,root) %{_bindir}/t1mac +%attr(0644,root,root) %{_mandir}/man1/t1ascii.1* +%attr(0644,root,root) %{_mandir}/man1/t1binary.1* +%attr(0644,root,root) %{_mandir}/man1/t1asm.1* +%attr(0644,root,root) %{_mandir}/man1/t1disasm.1* +%attr(0644,root,root) %{_mandir}/man1/t1unmac.1* +%attr(0644,root,root) %{_mandir}/man1/t1mac.1* diff --git a/Build/source/utils/t1utils/t1utils.spec b/Build/source/utils/t1utils/t1utils.spec deleted file mode 100644 index 8bb3a9019c5..00000000000 --- a/Build/source/utils/t1utils/t1utils.spec +++ /dev/null @@ -1,53 +0,0 @@ -Summary: Programs for manipulating PostScript Type 1 fonts - -Name: t1utils -Version: 1.34 -Release: 1 -Source: http://www.lcdf.org/type/t1utils-1.34.tar.gz - -URL: http://www.lcdf.org/type/ - -Group: Utilities/Printing -Vendor: Little Cambridgeport Design Factory -Packager: Eddie Kohler -License: freely modifiable and distributable - -BuildRoot: /tmp/t1utils-build - -%description -The t1utils package is a set of programs for -manipulating PostScript Type 1 fonts. It contains -programs to change between binary PFB format (for -storage), ASCII PFA format (for printing), a -human-readable and -editable ASCII format, and -Macintosh resource forks. - -%prep -%setup - -%build -%configure -make - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT - -%files -%attr(-,root,root) %doc NEWS README -%attr(0755,root,root) %{_bindir}/t1ascii -%attr(0755,root,root) %{_bindir}/t1binary -%attr(0755,root,root) %{_bindir}/t1asm -%attr(0755,root,root) %{_bindir}/t1disasm -%attr(0755,root,root) %{_bindir}/t1unmac -%attr(0755,root,root) %{_bindir}/t1mac -%attr(0644,root,root) %{_mandir}/man1/t1ascii.1* -%attr(0644,root,root) %{_mandir}/man1/t1binary.1* -%attr(0644,root,root) %{_mandir}/man1/t1asm.1* -%attr(0644,root,root) %{_mandir}/man1/t1disasm.1* -%attr(0644,root,root) %{_mandir}/man1/t1unmac.1* -%attr(0644,root,root) %{_mandir}/man1/t1mac.1* -- cgit v1.2.3