From 3a7b521eec26059dd6c8de57c2fd8d4c7763bfa2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 5 Dec 2011 00:32:12 +0000 Subject: new script dosepsbin (11nov11) git-svn-id: svn://tug.org/texlive/trunk@24759 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/texk/texlive/linked_scripts/Makefile.am | 1 + .../source/texk/texlive/linked_scripts/Makefile.in | 1 + .../texlive/linked_scripts/dosepsbin/dosepsbin.pl | 441 ++++ Master/bin/alpha-linux/dosepsbin | 1 + Master/bin/amd64-freebsd/dosepsbin | 1 + Master/bin/amd64-kfreebsd/dosepsbin | 1 + Master/bin/i386-cygwin/dosepsbin | 1 + Master/bin/i386-freebsd/dosepsbin | 1 + Master/bin/i386-kfreebsd/dosepsbin | 1 + Master/bin/i386-linux/dosepsbin | 1 + Master/bin/i386-netbsd/dosepsbin | 1 + Master/bin/i386-solaris/dosepsbin | 1 + Master/bin/mips-irix/dosepsbin | 1 + Master/bin/powerpc-aix/dosepsbin | 1 + Master/bin/powerpc-linux/dosepsbin | 1 + Master/bin/sparc-linux/dosepsbin | 1 + Master/bin/sparc-solaris/dosepsbin | 1 + Master/bin/universal-darwin/dosepsbin | 1 + Master/bin/win32/dosepsbin.exe | Bin 0 -> 1536 bytes Master/bin/x86_64-darwin/dosepsbin | 1 + Master/bin/x86_64-linux/dosepsbin | 1 + Master/bin/x86_64-solaris/dosepsbin | 1 + .../texmf-dist/doc/support/dosepsbin/Makefile.in | 114 + Master/texmf-dist/doc/support/dosepsbin/README | 53 + .../texmf-dist/doc/support/dosepsbin/clean-case.pl | 20 + .../doc/support/dosepsbin/dosepsbin.html | 199 ++ .../texmf-dist/doc/support/dosepsbin/dosepsbin.ltx | 100 + .../texmf-dist/doc/support/dosepsbin/dosepsbin.pdf | Bin 0 -> 46090 bytes .../texmf-dist/doc/support/dosepsbin/dosepsbin.txt | 119 ++ Master/texmf-dist/doc/support/dosepsbin/version.pl | 145 ++ Master/texmf-dist/scripts/dosepsbin/dosepsbin.pl | 441 ++++ .../texmf-dist/source/support/dosepsbin/configure | 2179 ++++++++++++++++++++ .../source/support/dosepsbin/configure.ac | 16 + .../texmf-dist/source/support/dosepsbin/install-sh | 294 +++ Master/texmf/doc/man/man1/dosepsbin.1 | 259 +++ Master/texmf/doc/man/man1/dosepsbin.man1.pdf | Bin 0 -> 6951 bytes Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 2 + Master/tlpkg/tlpsrc/collection-fontutils.tlpsrc | 6 +- Master/tlpkg/tlpsrc/dosepsbin.tlpsrc | 4 + 40 files changed, 4411 insertions(+), 3 deletions(-) create mode 100755 Build/source/texk/texlive/linked_scripts/dosepsbin/dosepsbin.pl create mode 120000 Master/bin/alpha-linux/dosepsbin create mode 120000 Master/bin/amd64-freebsd/dosepsbin create mode 120000 Master/bin/amd64-kfreebsd/dosepsbin create mode 120000 Master/bin/i386-cygwin/dosepsbin create mode 120000 Master/bin/i386-freebsd/dosepsbin create mode 120000 Master/bin/i386-kfreebsd/dosepsbin create mode 120000 Master/bin/i386-linux/dosepsbin create mode 120000 Master/bin/i386-netbsd/dosepsbin create mode 120000 Master/bin/i386-solaris/dosepsbin create mode 120000 Master/bin/mips-irix/dosepsbin create mode 120000 Master/bin/powerpc-aix/dosepsbin create mode 120000 Master/bin/powerpc-linux/dosepsbin create mode 120000 Master/bin/sparc-linux/dosepsbin create mode 120000 Master/bin/sparc-solaris/dosepsbin create mode 120000 Master/bin/universal-darwin/dosepsbin create mode 100755 Master/bin/win32/dosepsbin.exe create mode 120000 Master/bin/x86_64-darwin/dosepsbin create mode 120000 Master/bin/x86_64-linux/dosepsbin create mode 120000 Master/bin/x86_64-solaris/dosepsbin create mode 100644 Master/texmf-dist/doc/support/dosepsbin/Makefile.in create mode 100644 Master/texmf-dist/doc/support/dosepsbin/README create mode 100644 Master/texmf-dist/doc/support/dosepsbin/clean-case.pl create mode 100644 Master/texmf-dist/doc/support/dosepsbin/dosepsbin.html create mode 100644 Master/texmf-dist/doc/support/dosepsbin/dosepsbin.ltx create mode 100644 Master/texmf-dist/doc/support/dosepsbin/dosepsbin.pdf create mode 100644 Master/texmf-dist/doc/support/dosepsbin/dosepsbin.txt create mode 100644 Master/texmf-dist/doc/support/dosepsbin/version.pl create mode 100755 Master/texmf-dist/scripts/dosepsbin/dosepsbin.pl create mode 100644 Master/texmf-dist/source/support/dosepsbin/configure create mode 100644 Master/texmf-dist/source/support/dosepsbin/configure.ac create mode 100644 Master/texmf-dist/source/support/dosepsbin/install-sh create mode 100644 Master/texmf/doc/man/man1/dosepsbin.1 create mode 100644 Master/texmf/doc/man/man1/dosepsbin.man1.pdf create mode 100644 Master/tlpkg/tlpsrc/dosepsbin.tlpsrc diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am index 5af2eb066af..908fb66b193 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.am +++ b/Build/source/texk/texlive/linked_scripts/Makefile.am @@ -79,6 +79,7 @@ texmf_dist_other_scripts = \ ctanify/ctanify \ ctanupload/ctanupload.pl \ de-macro/de-macro \ + dosepsbin/dosepsbin.pl \ dviasm/dviasm.py \ ebong/ebong.py \ epspdf/epspdf.rb \ diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in index 802b831c5f0..7a952627353 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.in +++ b/Build/source/texk/texlive/linked_scripts/Makefile.in @@ -234,6 +234,7 @@ texmf_dist_other_scripts = \ ctanify/ctanify \ ctanupload/ctanupload.pl \ de-macro/de-macro \ + dosepsbin/dosepsbin.pl \ dviasm/dviasm.py \ ebong/ebong.py \ epspdf/epspdf.rb \ diff --git a/Build/source/texk/texlive/linked_scripts/dosepsbin/dosepsbin.pl b/Build/source/texk/texlive/linked_scripts/dosepsbin/dosepsbin.pl new file mode 100755 index 00000000000..b87bd25af54 --- /dev/null +++ b/Build/source/texk/texlive/linked_scripts/dosepsbin/dosepsbin.pl @@ -0,0 +1,441 @@ +#!/usr/bin/env perl +# +use strict; +$^W=1; + +my $prj = 'dosepsbin'; +my $version = '1.0'; +my $date = '2011/11/10'; +my $author = 'Heiko Oberdiek'; +my $copyright = "Copyright 2011 $author"; + +my $verbose = 0; +my $quiet = 0; +my $inputfile = ''; +my $file_eps = ''; +my $file_wmf= ''; +my $file_tiff = ''; +my $buf_size = 0x1000000; + +my $title = "\U$prj\E $date v$version, $copyright\n"; + +sub die_error ($;$) { + my $msg = shift; + $msg = "\n!!! Error: $msg!\n"; + if (@_) { + my $ref = shift; + foreach my $key (sort keys %$ref) { + my $value = $$ref{$key}; + $key =~ s/ /_/g; + $key =~ s/^\d+_?//; + $msg .= " [$key: $value]\n"; + } + } + die $msg; +} + +sub warning ($) { + my $msg = shift; + print "!!! Warning: $msg!\n"; +} + +sub verbose (@) { + return unless $verbose; + my @msg = @_; + print "* @msg\n"; +} + +sub verbose_kv ($$) { + return unless $verbose; + my $key = shift; + my $value = shift; + $key =~ s/ /_/g; + print " [$key: $value]\n"; +} + +sub die_usage { + my $msg = $_[0]; + pod2usage( + -exitstatus => 2, + -msg => "\n==> $msg!\n"); +} + +use Getopt::Long; +use Pod::Usage; + +GetOptions( + 'verbose' => sub { + $verbose = 1; + $quiet = 0; + }, + 'quiet' => sub { + $quiet = 1; + $verbose = 0; + }, + 'help|?' => sub { + print $title; + pod2usage(1); + }, + 'man' => sub { + pod2usage(-exitstatus => 0, -verbose => 2); + }, + 'version' => sub { + print "$prj $date v$version\n"; + exit(0); + }, + 'inputfile=s' => \$inputfile, + 'eps-file=s' => \$file_eps, + 'wmf-file=s' => \$file_wmf, + 'tiff-file=s' => \$file_tiff, +) or die_usage('Unknown option'); + +print $title unless $quiet; + +verbose_kv 'program name', $0; +verbose_kv 'osname', $^O; +verbose_kv 'perl version', $^V ? sprintf('v%vd', $^V) : $]; + +$inputfile = shift @ARGV if not $inputfile and @ARGV; +$inputfile or die_error "Missing input file"; + +# If input file does not exist, try with extension ".eps" +if (not -f $inputfile) { + my $file = "$inputfile.eps"; + $inputfile = $file if -f $file; +} +-f $inputfile or + die_error "Input file not found", { + 'input file' => $inputfile + }; +verbose_kv 'input file', $inputfile; + +# Get file size of input file +my @tmp = stat $inputfile; +@tmp or die_error "Getting size of Input file `$inputfile' failed"; +my $inputfile_size = $tmp[7]; +$inputfile_size > 30 or + die_error "Input file size is too small", { + '1 input file' => $inputfile, + '2 file size' => $inputfile_size, + }; +verbose_kv 'input file size', $inputfile_size; + +# Open input file +open(IN, '<', $inputfile) or # die_error "Input file `$inputfile' not found"; + die_error "Cannot open input file", { + '1 input file' => $inputfile, + '2 os error' => $!, + }; +binmode(IN); + +# Read header +my $header; +read IN, $header, 30 or + die_error "Reading the header of the input file failed", { + 'file' => $inputfile, + 'os error' => $!, + }; +# Check ASCII PS header +if ('%!' eq substr $header, 0, 2) { + $header =~ m/^(%![A-Za-z0-9\.\- \t]+)/; + my $first_line = $1; + die_error "Input file seems to be an ASCII PostScript file", { + '1 input file' => $inputfile, + '2 file header' => $first_line, + } +} +my ($id, + $offset_ps, $length_ps, + $offset_wmf, $length_wmf, + $offset_tiff, $length_tiff, + $checksum) = unpack 'NV6n', $header; + +my $id_hex = unpack 'H8', pack 'N', $id; +$id_hex = "0x\U$id_hex\E"; +verbose_kv 'header id', $id_hex; +$id eq 0xC5D0D3C6 or + die_error "Input file is not a `DOS EPS binary file'", { + '1 input file' => $inputfile, + '2 file header id' => $id_hex, + }; + +# Check checksum +if ($checksum == 0xFFFF) { + verbose_kv 'checksum', '0xFFFF (ignored)'; +} +else { + my $cs = 0; + map { $cs ^= $_ } unpack 'n14', $header; + if ($cs != $checksum) { + my $cs_hex = unpack 'H4', pack 'n', $cs; + $cs_hex = "0x\U$cs_hex\E"; + my $cs_found = unpack 'H4', pack 'n', $checksum; + $cs_found = "0x\U$cs_found\E"; + die_error "Checksum mismatch", { + '1 input file' => $inputfile, + '2 checksum found' => $cs_found, + '3 checksum expected' => $cs_hex, + }; + } +} + +verbose_kv 'offset of PS section', $offset_ps; +verbose_kv 'length of PS section', $length_ps; +verbose_kv 'offset of WMF section', $offset_wmf; +verbose_kv 'length of WMF section', $length_wmf; +verbose_kv 'offset of TIFF section', $offset_tiff; +verbose_kv 'length of TIFF section', $length_tiff; + +{ + my %check_positions; + sub check_section ($$$) { + my $type = shift; + my $ref_off = shift; + my $ref_len = shift; + if ($$ref_off == 0 and $$ref_len == 0) { + print "--> $type section is not available.\n" unless $quiet; + return ''; + } + $$ref_off >= 32 and $$ref_off < $inputfile_size or + die_error "Invalid offset of PS section", { + '1 input file' => $inputfile, + "2 offset of $type section" => $$ref_off, + "3 length of $type section" => $$ref_len, + }; + $$ref_len >= 0 and $$ref_off + $$ref_len <= $inputfile_size or + die_error "Invalid length of PS section", { + '1 input file' => $inputfile, + "2 offset of $type section" => $$ref_off, + "3 length of $type section" => $$ref_len, + }; + $check_positions{$$ref_off} = $$ref_off + $$ref_len; + print "--> $type section with $$ref_len bytes.\n" unless $quiet; + return sprintf '%d..%d', $$ref_off, $$ref_off + $$ref_len - 1; + } + my $sec_ps = check_section 'PS', \$offset_ps, \$length_ps; + verbose_kv 'position of PS section', $sec_ps; + my $sec_wmf = check_section 'WMF', \$offset_wmf, \$length_wmf; + verbose_kv 'position of WMF section', $sec_wmf; + my $sec_tiff = check_section 'TIFF', \$offset_tiff, \$length_tiff; + verbose_kv 'position of TIFF section', $sec_tiff; + my $pos = 30; + foreach my $beg (sort keys %check_positions) { + $check_positions{$beg} >= $pos or + die_error "Section overlap detected", { + '1 input file' => $inputfile, + '2 position of header' => "0..29", + '3 position of PS section' => $sec_ps, + '4 position of WMF section' => $sec_wmf, + '5 position of TIFF section' => $sec_tiff, + }; + } +} + +sub write_file ($$$$) { + my $type = shift; + my $file = shift; + my $off = shift; + my $len = shift; + my $org_len = $len; + return unless $file; + verbose_kv "$type file", $file; + if ($off <= 0 or $len <= 0) { + warning "No $type section found"; + return; + } + my $position = $off; + seek IN, $off, 0 or + die_error "Moving to $type section offset failed", { + '1 input file' => $inputfile, + '2 position' => $off, + '3 os error' => $!, + }; + open(OUT, '>', $file) or + die_error "Opening $type file for writing failed", { + "1 $type file" => $file, + '2 os error' => $!, + }; + binmode(OUT); + while ($len > 0) { + my $read_len = ($len > $buf_size) ? $buf_size : $len; + my $buf; + my $read_count = read IN, $buf, $read_len; + $read_count > 0 or + die_error "Reading file failed", { + '1 input file' => $inputfile, + "2 $type file" => $file, + '3 offset' => $position, + '4 length' => $read_len, + '5 os error' => $!, + }; + $position += $read_count; + print OUT $buf or + die_error "Writing $type file failed", { + "1 $type file" => $file, + '2 offset' => $org_len - $len, + '3 length' => $read_count, + '4 os error' => $!, + }; + $len -= $read_count; + } + close(OUT); + print "==> $type file written: [$file]\n" unless $quiet; +} + +write_file 'TIFF', $file_tiff, $offset_tiff, $length_tiff; +write_file 'WMF', $file_wmf, $offset_wmf, $length_wmf; +write_file 'EPS', $file_eps, $offset_ps, $length_ps; + +close(IN); + +1; + +__DATA__ + +=head1 NAME + +dosepsbin -- Extract PS/WMF/TIFF sections from DOS EPS binary files + +=head1 VERSION + +2011-11-10 v1.0 + +=head1 SYNOPSIS + +The progam B analyses an EPS file that is not +a plain ASCII PostScript file but given as DOS EPS binary file. + + dosepsbin [options] + +First it analyzes the I, validates its header +and summarizes the available sections. Depending on the +given options, the sections are then written to files. + +Options: + + --eps-file Write PS section to . + --wmf-file Write WMF section to . + --tiff-file Write WMF section to . + --inputfile The name of the input file. + --verbose Verbose output. + --quiet Only errors and warnings are printed. + --help Brief help message. + --man Full documentation. + --version Print version identification. + +The files for output must be different from the input file. + +=head1 DESCRIPTION + +=head2 DOS EPS Binary File Format + +A Encapsulated PostScript (EPS) file can also given in a special +binary format to support the inclusion of a thumbnail. The file +format starts with a binary header that contains the positions of +the possible sections: + +=over + +=item * Postscript (PS) + +=item * Windows Metafile Format (WMF) + +=item * Tag Image File Format (TIFF) + +=back + +The PS section must be present and either the WMF file or the TIFF +file should be given. + +=head1 OPTIONS + +=over + +=item B<->B<-eps-file>=> + +The PS section is written to >. The output file must +be different from the input file. + +=item B<->B<-wmf-file>=> + +The WMF section is written to > if present. The output +file must be different from the input file. + +=item B<->B<-tiff-file>=> + +The TIFF section is written to > if present. The output +file must be different from the input file. + +=item B<->B<-inputfile>=> + +The input file can also be given directly on the command line. +If the file does not exist, then the file with extension `.eps' +is tried. + +=item B<->B<-verbose> + +Verbose messages. + +=item B<->B<-quiet> + +No messages are printed except for errors and warnings. + +=item B<->B<-help> + +Display help screen. + +=item B<->B<-man> + +Prints manual page. + +=item B<->B<-version> + +Print version identification and exit. + +=back + +=head1 EXAMPLES + +The following command extracts the PS section from file F +and stores the result in file F: + + dosepsbin --eps-file test-ps.eps test.eps + +=head1 AUTHOR + +Heiko Oberdiek, email: heiko.oberdiek at googlemail.com + +=head1 COPYRIGHT AND LICENSE + +Copyright 2011 by Heiko Oberdiek. + +This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). + +=head1 SEE ALSO + +The DOS EPS binary file format is described +in section "5.2 Windows Metafile or TIFF": + + Adobe Developer Support, + Encapsulated PostScript File Format Specification, + Version 3.0, + 1992-05-01, + http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + +=head1 HISTORY + +=over 2 + +=item B<2011/11/10 v1.0> + +=over 2 + +=item * First version. + +=back + +=back + +=cut diff --git a/Master/bin/alpha-linux/dosepsbin b/Master/bin/alpha-linux/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/alpha-linux/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/amd64-freebsd/dosepsbin b/Master/bin/amd64-freebsd/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/amd64-freebsd/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/amd64-kfreebsd/dosepsbin b/Master/bin/amd64-kfreebsd/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/amd64-kfreebsd/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-cygwin/dosepsbin b/Master/bin/i386-cygwin/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-cygwin/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-freebsd/dosepsbin b/Master/bin/i386-freebsd/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-freebsd/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-kfreebsd/dosepsbin b/Master/bin/i386-kfreebsd/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-kfreebsd/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-linux/dosepsbin b/Master/bin/i386-linux/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-linux/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-netbsd/dosepsbin b/Master/bin/i386-netbsd/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-netbsd/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/i386-solaris/dosepsbin b/Master/bin/i386-solaris/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/i386-solaris/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/mips-irix/dosepsbin b/Master/bin/mips-irix/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/mips-irix/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/powerpc-aix/dosepsbin b/Master/bin/powerpc-aix/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/powerpc-aix/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/powerpc-linux/dosepsbin b/Master/bin/powerpc-linux/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/powerpc-linux/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/sparc-linux/dosepsbin b/Master/bin/sparc-linux/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/sparc-linux/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/sparc-solaris/dosepsbin b/Master/bin/sparc-solaris/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/sparc-solaris/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/universal-darwin/dosepsbin b/Master/bin/universal-darwin/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/universal-darwin/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/win32/dosepsbin.exe b/Master/bin/win32/dosepsbin.exe new file mode 100755 index 00000000000..5777d90a17a Binary files /dev/null and b/Master/bin/win32/dosepsbin.exe differ diff --git a/Master/bin/x86_64-darwin/dosepsbin b/Master/bin/x86_64-darwin/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/x86_64-darwin/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/x86_64-linux/dosepsbin b/Master/bin/x86_64-linux/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/x86_64-linux/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/bin/x86_64-solaris/dosepsbin b/Master/bin/x86_64-solaris/dosepsbin new file mode 120000 index 00000000000..02adf4ee574 --- /dev/null +++ b/Master/bin/x86_64-solaris/dosepsbin @@ -0,0 +1 @@ +../../texmf-dist/scripts/dosepsbin/dosepsbin.pl \ No newline at end of file diff --git a/Master/texmf-dist/doc/support/dosepsbin/Makefile.in b/Master/texmf-dist/doc/support/dosepsbin/Makefile.in new file mode 100644 index 00000000000..842810a171c --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/Makefile.in @@ -0,0 +1,114 @@ +# Makefile.in +# @configure_input@ + +# Copyright 2007, 2008, 2011 by Heiko Oberdiek. +# +# The file is part of project dosepsbin. +# It's free software; you may redistribute it and/or +# modify it under the same terms as Perl itself +# (Perl Artistic License/GNU General Public License, version 2). + +VPATH = @srcdir@ +srcdir = @srcdir@ +SHELL = @SHELL@ + +prefix = @prefix@ +datarootdir = @datarootdir@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +mandir = @mandir@ +manext = 1 +man1dir = $(mandir)/man$(manext) + +INSTALL = @INSTALL@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_DATA = @INSTALL_DATA@ + +PRJ = dosepsbin +SRC_FILE = $(PRJ).pl +SRC_FILES = $(SRC_FILE) $(PRJ).ltx clean-case.pl version.pl +DOC_FILES = $(PRJ).txt $(PRJ).man $(PRJ).html $(PRJ).pdf README +ALL_FILES = $(DOC_FILES) configure +AUTOSRC_FILES = configure.ac Makefile.in install-sh +DISTRIB_FILES = $(SRC_FILES) $(ALL_FILES) $(AUTOSRC_FILES) +PDFLATEX = TEXINPUTS=$(srcdir): pdflatex +LUALATEX = TEXINPUTS=$(srcdir): lualatex +TMP_FILE = __temp__.pl +FILE_DATE_VERSION = date-version.txt + +default all: + +include $(wildcard $(srcdir)/$(PRJ).mk) + +configure: configure.ac + autoconf + +Makefile: Makefile.in configure + ./configure + +doc: $(DOC_FILES) + +$(FILE_DATE_VERSION): $(SRC_FILE) + ./version.pl + autoconf + ./configure + +$(PRJ).txt: $(SRC_FILE) + pod2text -l $< $@ + +$(PRJ).man: $(SRC_FILE) $(FILE_DATE_VERSION) + pod2man -d "$(shell cat $(FILE_DATE_VERSION))" $< $@ + +html: $(PRJ).html +$(PRJ).html: $(SRC_FILE) ./clean-case.pl + ./clean-case.pl $< $(TMP_FILE) + pod2html --title=$(PRJ) --infile=$(TMP_FILE) --outfile=$@ + +$(PRJ).pdf: $(PRJ).ltx $(PRJ).tex + $(LUALATEX) $< + makeindex $(PRJ) + $(LUALATEX) $< + makeindex $(PRJ) + $(LUALATEX) $< + makeindex $(PRJ) + $(LUALATEX) $< + makeindex $(PRJ) + $(LUALATEX) $< + +$(PRJ).tex: $(SRC_FILE) + ./clean-case.pl $< $(TMP_FILE) + pod2latex -out $@ $(TMP_FILE) + recode latin1..utf8 $@ + +distrib: $(PRJ).zip + +$(PRJ).zip: $(DISTRIB_FILES) + zip -9j $@ $+ + +install: + $(INSTALL) -d $(bindir) $(man1dir) + $(INSTALL_SCRIPT) $(srcdir)/$(PRJ).pl $(bindir)/$(PRJ) + $(INSTALL_DATA) $(srcdir)/$(PRJ).man $(man1dir)/$(PRJ).1 + +check: $(SRC_FILE) + podchecker $< + +uninstall: + -rm -f $(bindir)/$(PRJ) $(man1dir)/$(PRJ).1 + +clean: + -rm -f $(PRJ).aux $(PRJ).log $(PRJ).toc + -rm -f $(PRJ).idx $(PRJ).ind $(PRJ).ilg + -rm -f pod2htmd.tmp pod2htmi.tmp + +distclean: clean + -rm -f Makefile config.status config.log config.cache + -rm -f $(PRJ).tex + +realclean: distclean + -rm -f $(ALL_FILES) $(PRJ).zip + +mostlyclean: clean + +.PHONY: default all doc distrib install check uninstall \ + clean distclean realclean mostlyclean test html diff --git a/Master/texmf-dist/doc/support/dosepsbin/README b/Master/texmf-dist/doc/support/dosepsbin/README new file mode 100644 index 00000000000..83dd6571808 --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/README @@ -0,0 +1,53 @@ +README for dosepsbin 2011/11/10 v1.0 + +Copyright 2011 by Heiko Oberdiek + +License +======= +The file is part of project dosepsbin. +It's free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). + +Requirements +============ +* Perl + +Documentation +============= +The source of the documentation is embedded as POD data +in the Perl script dosepsbin.pl. The documentation is +available in various formats: +* Manual page: dosepsbin.man +* PDF file: dosepsbin.pdf +* HTML file: dosepsbin.html +* Text file: dosepsbin.txt +And program option --man displays the documentation on +the screen. + +Installation +============ +* Unix: + GNU autoconf was used, thus you can try: + ./configure + make install + It should install the script and manual page. + The other documentation files can be installed manually. + +* Manually: + * dosepsbin.pl: Install the file as `dosepsbin' in a directory + that is listed in environment variable `PATH', e.g. + /usr/local/bin/dosepsbin + * dosepsbin.man: Install the manual page as `dosepsbin.1' + in the appropriate directory, e.g.: + /usr/local/man/man1/dosepsbin.1 + * dosepsbin.pdf, dosepsbin.html, dosepsbin.html, README: + Install them where you find them, for example in directory: + /usr/local/share/doc/dosepsbin/ + +The files clean-case.pl and version.pl are just helper scripts for +generating the documentation and are provided for sake of completeness. +They are usually not needed, because the documentation files are +already generated and provided in the distribution. + +See the documentation for further information. diff --git a/Master/texmf-dist/doc/support/dosepsbin/clean-case.pl b/Master/texmf-dist/doc/support/dosepsbin/clean-case.pl new file mode 100644 index 00000000000..fe72e184d02 --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/clean-case.pl @@ -0,0 +1,20 @@ +#!/usr/bin/env perl +use strict; +$^W=1; + +@ARGV == 2 or die "!!! Syntax: \n"; + +my $infile = $ARGV[0]; +my $outfile = $ARGV[1]; + +open(IN, '<', $infile) or die "!!! Error: Cannot open `$infile'!\n"; +open(OUT, '>', $outfile) or die "!!! Error: Cannot write `$outfile'!\n"; +while () { + s/^(=head[1] [A-Z])(.*)/$1\L$2\E/; + s/(L<"[A-Z])([^"]+)">/$1\L$2\E">/g; + print OUT; +} +close(IN); +close(OUT); + +__END__ diff --git a/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.html b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.html new file mode 100644 index 00000000000..63477cdc835 --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.html @@ -0,0 +1,199 @@ + + + +dosepsbin + + + + + +

+ + + + + +
+

+

+

Name

+

dosepsbin -- Extract PS/WMF/TIFF sections from DOS EPS binary files

+

+

+
+

Version

+

2011-11-10 v1.0

+

+

+
+

Synopsis

+

The progam dosepsbin analyses an EPS file that is not +a plain ASCII PostScript file but given as DOS EPS binary file.

+
+    dosepsbin [options] <input file>
+

First it analyzes the input file, validates its header +and summarizes the available sections. Depending on the +given options, the sections are then written to files.

+

Options:

+
+    --eps-file <file>      Write PS section to <file>.
+    --wmf-file <file>      Write WMF section to <file>.
+    --tiff-file <file>      Write WMF section to <file>.
+    --inputfile <file>     The name of the input file.
+    --verbose              Verbose output.
+    --quiet                Only errors and warnings are printed.
+    --help                 Brief help message.
+    --man                  Full documentation.
+    --version              Print version identification.
+

The files for output must be different from the input file.

+

+

+
+

Description

+

+

+

DOS EPS Binary File Format

+

A Encapsulated PostScript (EPS) file can also given in a special +binary format to support the inclusion of a thumbnail. The file +format starts with a binary header that contains the positions of +the possible sections:

+ +

The PS section must be present and either the WMF file or the TIFF +file should be given.

+

+

+
+

Options

+
+
--eps-file=<file>
+
+
+The PS section is written to <file>. The output file must +be different from the input file. +
+

+
--wmf-file=<file>
+
+
+The WMF section is written to <file> if present. The output +file must be different from the input file. +
+

+
--tiff-file=<file>
+
+
+The TIFF section is written to <file> if present. The output +file must be different from the input file. +
+

+
--inputfile=<file>
+
+
+The input file can also be given directly on the command line. +If the file does not exist, then the file with extension `.eps' +is tried. +
+

+
--verbose
+
+
+Verbose messages. +
+

+
--quiet
+
+
+No messages are printed except for errors and warnings. +
+

+
--help
+
+
+Display help screen. +
+

+
--man
+
+
+Prints manual page. +
+

+
--version
+
+
+Print version identification and exit. +
+

+

+

+
+

Examples

+

The following command extracts the PS section from file test.eps +and stores the result in file test-ps.eps:

+
+    dosepsbin --eps-file test-ps.eps test.eps
+

+

+
+

Author

+

Heiko Oberdiek, email: heiko.oberdiek at googlemail.com

+

+

+
+

Copyright and license

+

Copyright 2011 by Heiko Oberdiek.

+

This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2).

+

+

+
+

See also

+

The DOS EPS binary file format is described +in section ``5.2 Windows Metafile or TIFF'':

+
+    Adobe Developer Support,
+    Encapsulated PostScript File Format Specification,
+    Version 3.0,
+    1992-05-01,
+    http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf
+

+

+
+

History

+
    +
  1. 2011/11/10 v1.0
    +
  2. + +
+ + + + diff --git a/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.ltx b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.ltx new file mode 100644 index 00000000000..c2206cdc21d --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.ltx @@ -0,0 +1,100 @@ +% dosepsbin.ltx +% +% Copyright 2011 by Heiko Oberdiek. +% +% The file is part of project dosepsbin. +% It's free software; you may redistribute it and/or +% modify it under the same terms as Perl itself +% (Perl Artistic License/GNU General Public License, version 2). + +\documentclass[a4paper,12pt]{article} + +\providecommand*{\DATE}{2011/11/10} +\providecommand*{\VERSION}{1.0} + +\usepackage[ + hmargin=1in, + top=.75in, + bottom=.5in, + includefoot, + headheight=14.5pt, + footskip=40pt, +]{geometry} + +\usepackage{fancyhdr} +\renewcommand*{\headrulewidth}{0pt} +\renewcommand*{\footrulewidth}{0.4pt} +\fancyhead{} +\fancyfoot[L]{\textsf{dosepsbin}} +\fancyfoot[C]{\DATE\ v\VERSION} +\fancyfoot[R]{\thepage} +\pagestyle{fancy} +\makeatletter +\let\ps@plain\ps@fancy +\makeatother + +\makeatletter +\renewenvironment*{theindex}{% + \section*{\indexname}% + \setlength{\parindent}{0pt}% + \setlength{\parskip}{0pt plus .3pt}% + \let\item\@idxitem +}{% + \clearpage +} +\makeatother + +\usepackage{ifluatex} +\ifluatex + \usepackage{fontspec} +\else + \usepackage[T1]{fontenc}% + \usepackage{lmodern}% + \usepackage[utf8]{inputenc}% +\fi + +\usepackage{makeidx} + +\usepackage{hyperref} +\hypersetup{ + colorlinks, + pdfauthor={Heiko Oberdiek}, + pdftitle={dosepsbin}, +} +\definecolor{linkcolor}{rgb}{0,0,.8} +\hypersetup{ + linkcolor=linkcolor, +} + +\usepackage{bookmark} +\bookmarksetup{ + open, + numbered, +} + +\makeindex + +\author{Heiko Oberdiek} +\title{Program \textsf{dosepsbin}} +\date{\DATE\space v\VERSION} + +% ignore minor overfull \hbox warnings +\setlength{\hfuzz}{1.5pt} + +\begin{document} + +\maketitle + +\pdfbookmark[1]{\contentsname}{toc} +\tableofcontents + +\makeatletter +\let\org@section\section +\def\section{\@ifstar\org@section\org@section} +\makeatother + +\input{dosepsbin.tex} + +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.pdf b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.pdf new file mode 100644 index 00000000000..854143d8eec Binary files /dev/null and b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.pdf differ diff --git a/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.txt b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.txt new file mode 100644 index 00000000000..3980a9e55c4 --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/dosepsbin.txt @@ -0,0 +1,119 @@ +NAME + + dosepsbin -- Extract PS/WMF/TIFF sections from DOS EPS binary files + +VERSION + + 2011-11-10 v1.0 + +SYNOPSIS + + The progam dosepsbin analyses an EPS file that is not a plain ASCII + PostScript file but given as DOS EPS binary file. + + dosepsbin [options] + + First it analyzes the *input file*, validates its header and summarizes + the available sections. Depending on the given options, the sections are + then written to files. + + Options: + + --eps-file Write PS section to . + --wmf-file Write WMF section to . + --tiff-file Write WMF section to . + --inputfile The name of the input file. + --verbose Verbose output. + --quiet Only errors and warnings are printed. + --help Brief help message. + --man Full documentation. + --version Print version identification. + + The files for output must be different from the input file. + +DESCRIPTION + + DOS EPS Binary File Format + + A Encapsulated PostScript (EPS) file can also given in a special binary + format to support the inclusion of a thumbnail. The file format starts + with a binary header that contains the positions of the possible + sections: + + * Postscript (PS) + * Windows Metafile Format (WMF) + * Tag Image File Format (TIFF) + + The PS section must be present and either the WMF file or the TIFF file + should be given. + +OPTIONS + + --eps-file=<*file*> + The PS section is written to <*file*>. The output file must be + different from the input file. + + --wmf-file=<*file*> + The WMF section is written to <*file*> if present. The output file + must be different from the input file. + + --tiff-file=<*file*> + The TIFF section is written to <*file*> if present. The output file + must be different from the input file. + + --inputfile=<*file*> + The input file can also be given directly on the command line. If + the file does not exist, then the file with extension `.eps' is + tried. + + --verbose + Verbose messages. + + --quiet + No messages are printed except for errors and warnings. + + --help + Display help screen. + + --man + Prints manual page. + + --version + Print version identification and exit. + +EXAMPLES + + The following command extracts the PS section from file test.eps and + stores the result in file test-ps.eps: + + dosepsbin --eps-file test-ps.eps test.eps + +AUTHOR + + Heiko Oberdiek, email: heiko.oberdiek at googlemail.com + +COPYRIGHT AND LICENSE + + Copyright 2011 by Heiko Oberdiek. + + This library is free software; you may redistribute it and/or modify it + under the same terms as Perl itself (Perl Artistic License/GNU General + Public License, version 2). + +SEE ALSO + + The DOS EPS binary file format is described in section "5.2 Windows + Metafile or TIFF": + + Adobe Developer Support, + Encapsulated PostScript File Format Specification, + Version 3.0, + 1992-05-01, + http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + +HISTORY + + 2011/11/10 v1.0 + + * First version. + diff --git a/Master/texmf-dist/doc/support/dosepsbin/version.pl b/Master/texmf-dist/doc/support/dosepsbin/version.pl new file mode 100644 index 00000000000..524edb8a6ec --- /dev/null +++ b/Master/texmf-dist/doc/support/dosepsbin/version.pl @@ -0,0 +1,145 @@ +#!/usr/bin/env perl +use strict; +$^W=1; + +my $prj = 'dosepsbin'; +my $infile = "$prj.pl"; +my $acfile = 'configure.ac'; +my $ltxfile = "$prj.ltx"; +my $readmefile = 'README'; +my $datefile = 'date-version.txt'; +my $tmpfile = "version.tmp"; + +my $date = ''; +my $version = ''; +my $copyright_years = ''; +my $pl_date_version = ''; + +open(IN, '<', $infile) or die "!!! Error: Cannot open `$infile'!\n"; +while () { + if (/my \$date\s*=\s*'([0-9\/]+)'/) { + $date = $1; + next; + } + if (/my \$version\s*=\s*'([0-9\.]+)'/) { + $version = $1; + next; + } + if (/my \$copyright\s*=\s*"Copyright (.*) \$author"/) { + $copyright_years = $1; + next; + } + if (/^(\d{4}-\d{2}-\d{2} v\d+\.\d+)\s*$/) { + $pl_date_version = $1; + next; + } +} + +$date or die "!!! Error: Date not found!\n"; +$version or die "!!! Error: Version not found!\n"; +$copyright_years or die "!!! Error: Copyright years not found!\n"; +my $isodate = $date; +$isodate =~ s|/|-|g; +my $date_version = "$isodate v$version"; +$pl_date_version or die "!!! Error: VERSION/POD not found!\n"; +$pl_date_version eq $date_version or die "!!! Error: Fix VERSION in pod section!\n"; + +open(OUT, '>', $tmpfile) or die "!!! Error: Cannot open `$tmpfile'!\n"; +open(IN, '<', $acfile) or die "!!! Error: Cannot open `$acfile'!\n"; +my $found = 0; +my $update = 0; +while () { + if (/^(dnl Copyright )(.*)( by .*)$/) { + $found |= 1; + $_ = "$1$copyright_years$3\n"; + $update = 1 unless $2 eq $copyright_years; + } + if (/^(AC_INIT\(dosepsbin, )([^,]*)(,.*|\).*)$/) { + $found |= 2; + $_ = "$1$version$3\n"; + $update = 1 unless $2 eq $version; + } + print OUT; +} +die "!!! Error: COPYRIGHT or AC_INIT line not found!\n" unless $found = 3; +unlink $acfile or die "!!! Error: Cannot delete `$acfile'!\n"; +rename $tmpfile, $acfile + or die "!!! Error: Cannot rename `$tmpfile' to `$acfile'!\n"; +print "--> `$acfile' updated\n" if $update; + +open(OUT, '>', $tmpfile) or die "!!! Error: Cannot open `$tmpfile'!\n"; +open(IN, '<', $ltxfile) or die "!!! Error: Cannot open `$ltxfile'!\n"; +$found = 0; +$update = 0; +while () { + if (/^(% Copyright )(.*)( by .*)$/) { + $found |= 1; + $_ = "$1$copyright_years$3\n"; + $update = 1 unless $2 eq $copyright_years; + } + if (/^(\\providecommand\*{\\DATE}{)(.*)(})$/) { + $found |= 2; + $_ = "$1$date$3\n"; + $update = 1 unless $2 eq $date; + } + if (/^(\\providecommand\*{\\VERSION}{)(.*)(})$/) { + $found |= 4; + $_ = "$1$version$3\n"; + $update = 1 unless $2 eq $version; + } + print OUT; +} +close(IN); +close(OUT); +die "!!! Error: COPYRIGHT or DATE or VERSION line not found!\n" + unless $found == 7; +unlink $ltxfile or die "!!! Error: Cannot delete `$ltxfile'!\n"; +rename $tmpfile, $ltxfile + or die "!!! Error: Cannot rename `$tmpfile' to `$ltxfile'!\n"; +print "--> `$ltxfile' updated\n" if $update; + +open(OUT, '>', $tmpfile) or die "!!! Error: Cannot open `$tmpfile'!\n"; +open(IN, '<', $readmefile) or die "!!! Error: Cannot open `$readmefile'!\n"; +$found = 0; +$update = 0; +while () { + if (/^(Copyright )(.*)( by .*)$/) { + $found |= 1; + $_ = "$1$copyright_years$3\n"; + $update = 1 unless $2 eq $copyright_years; + } + if (/^(README for dosepsbin )([0-9\/]+) v([0-9\.]+)$/) { + $found |= 2; + $_ = "$1$date v$version\n"; + $update = 1 unless $2 eq $date and $3 eq $version; + } + print OUT; +} +close(IN); +close(OUT); +die "!!! Error: COPYRIGHT or DATE/VERSION line not found!\n" + unless $found == 3; +unlink $readmefile or die "!!! Error: Cannot delete `$readmefile'!\n"; +rename $tmpfile, $readmefile + or die "!!! Error: Cannot rename `$tmpfile' to `$readmefile'!\n"; +print "--> `$readmefile' updated.\n" if $update; + +my $old_date_version = ''; +if (-f $datefile) { + open(IN, '<', $datefile) or die "!!! Error: Cannot open `$datefile'!\n"; + my @lines = ; + $old_date_version = "@lines"; + close(IN); +} +if ($old_date_version eq $date_version) { + # print "--> `$datefile' is already uptodate.\n"; +} +else { + open(OUT, '>', $datefile) or die "!!! Error: Cannot open `$datefile'!\n"; + print OUT $date_version; + close(OUT); + print "--> `$datefile' updated.\n"; +} + +1; +__END__ diff --git a/Master/texmf-dist/scripts/dosepsbin/dosepsbin.pl b/Master/texmf-dist/scripts/dosepsbin/dosepsbin.pl new file mode 100755 index 00000000000..b87bd25af54 --- /dev/null +++ b/Master/texmf-dist/scripts/dosepsbin/dosepsbin.pl @@ -0,0 +1,441 @@ +#!/usr/bin/env perl +# +use strict; +$^W=1; + +my $prj = 'dosepsbin'; +my $version = '1.0'; +my $date = '2011/11/10'; +my $author = 'Heiko Oberdiek'; +my $copyright = "Copyright 2011 $author"; + +my $verbose = 0; +my $quiet = 0; +my $inputfile = ''; +my $file_eps = ''; +my $file_wmf= ''; +my $file_tiff = ''; +my $buf_size = 0x1000000; + +my $title = "\U$prj\E $date v$version, $copyright\n"; + +sub die_error ($;$) { + my $msg = shift; + $msg = "\n!!! Error: $msg!\n"; + if (@_) { + my $ref = shift; + foreach my $key (sort keys %$ref) { + my $value = $$ref{$key}; + $key =~ s/ /_/g; + $key =~ s/^\d+_?//; + $msg .= " [$key: $value]\n"; + } + } + die $msg; +} + +sub warning ($) { + my $msg = shift; + print "!!! Warning: $msg!\n"; +} + +sub verbose (@) { + return unless $verbose; + my @msg = @_; + print "* @msg\n"; +} + +sub verbose_kv ($$) { + return unless $verbose; + my $key = shift; + my $value = shift; + $key =~ s/ /_/g; + print " [$key: $value]\n"; +} + +sub die_usage { + my $msg = $_[0]; + pod2usage( + -exitstatus => 2, + -msg => "\n==> $msg!\n"); +} + +use Getopt::Long; +use Pod::Usage; + +GetOptions( + 'verbose' => sub { + $verbose = 1; + $quiet = 0; + }, + 'quiet' => sub { + $quiet = 1; + $verbose = 0; + }, + 'help|?' => sub { + print $title; + pod2usage(1); + }, + 'man' => sub { + pod2usage(-exitstatus => 0, -verbose => 2); + }, + 'version' => sub { + print "$prj $date v$version\n"; + exit(0); + }, + 'inputfile=s' => \$inputfile, + 'eps-file=s' => \$file_eps, + 'wmf-file=s' => \$file_wmf, + 'tiff-file=s' => \$file_tiff, +) or die_usage('Unknown option'); + +print $title unless $quiet; + +verbose_kv 'program name', $0; +verbose_kv 'osname', $^O; +verbose_kv 'perl version', $^V ? sprintf('v%vd', $^V) : $]; + +$inputfile = shift @ARGV if not $inputfile and @ARGV; +$inputfile or die_error "Missing input file"; + +# If input file does not exist, try with extension ".eps" +if (not -f $inputfile) { + my $file = "$inputfile.eps"; + $inputfile = $file if -f $file; +} +-f $inputfile or + die_error "Input file not found", { + 'input file' => $inputfile + }; +verbose_kv 'input file', $inputfile; + +# Get file size of input file +my @tmp = stat $inputfile; +@tmp or die_error "Getting size of Input file `$inputfile' failed"; +my $inputfile_size = $tmp[7]; +$inputfile_size > 30 or + die_error "Input file size is too small", { + '1 input file' => $inputfile, + '2 file size' => $inputfile_size, + }; +verbose_kv 'input file size', $inputfile_size; + +# Open input file +open(IN, '<', $inputfile) or # die_error "Input file `$inputfile' not found"; + die_error "Cannot open input file", { + '1 input file' => $inputfile, + '2 os error' => $!, + }; +binmode(IN); + +# Read header +my $header; +read IN, $header, 30 or + die_error "Reading the header of the input file failed", { + 'file' => $inputfile, + 'os error' => $!, + }; +# Check ASCII PS header +if ('%!' eq substr $header, 0, 2) { + $header =~ m/^(%![A-Za-z0-9\.\- \t]+)/; + my $first_line = $1; + die_error "Input file seems to be an ASCII PostScript file", { + '1 input file' => $inputfile, + '2 file header' => $first_line, + } +} +my ($id, + $offset_ps, $length_ps, + $offset_wmf, $length_wmf, + $offset_tiff, $length_tiff, + $checksum) = unpack 'NV6n', $header; + +my $id_hex = unpack 'H8', pack 'N', $id; +$id_hex = "0x\U$id_hex\E"; +verbose_kv 'header id', $id_hex; +$id eq 0xC5D0D3C6 or + die_error "Input file is not a `DOS EPS binary file'", { + '1 input file' => $inputfile, + '2 file header id' => $id_hex, + }; + +# Check checksum +if ($checksum == 0xFFFF) { + verbose_kv 'checksum', '0xFFFF (ignored)'; +} +else { + my $cs = 0; + map { $cs ^= $_ } unpack 'n14', $header; + if ($cs != $checksum) { + my $cs_hex = unpack 'H4', pack 'n', $cs; + $cs_hex = "0x\U$cs_hex\E"; + my $cs_found = unpack 'H4', pack 'n', $checksum; + $cs_found = "0x\U$cs_found\E"; + die_error "Checksum mismatch", { + '1 input file' => $inputfile, + '2 checksum found' => $cs_found, + '3 checksum expected' => $cs_hex, + }; + } +} + +verbose_kv 'offset of PS section', $offset_ps; +verbose_kv 'length of PS section', $length_ps; +verbose_kv 'offset of WMF section', $offset_wmf; +verbose_kv 'length of WMF section', $length_wmf; +verbose_kv 'offset of TIFF section', $offset_tiff; +verbose_kv 'length of TIFF section', $length_tiff; + +{ + my %check_positions; + sub check_section ($$$) { + my $type = shift; + my $ref_off = shift; + my $ref_len = shift; + if ($$ref_off == 0 and $$ref_len == 0) { + print "--> $type section is not available.\n" unless $quiet; + return ''; + } + $$ref_off >= 32 and $$ref_off < $inputfile_size or + die_error "Invalid offset of PS section", { + '1 input file' => $inputfile, + "2 offset of $type section" => $$ref_off, + "3 length of $type section" => $$ref_len, + }; + $$ref_len >= 0 and $$ref_off + $$ref_len <= $inputfile_size or + die_error "Invalid length of PS section", { + '1 input file' => $inputfile, + "2 offset of $type section" => $$ref_off, + "3 length of $type section" => $$ref_len, + }; + $check_positions{$$ref_off} = $$ref_off + $$ref_len; + print "--> $type section with $$ref_len bytes.\n" unless $quiet; + return sprintf '%d..%d', $$ref_off, $$ref_off + $$ref_len - 1; + } + my $sec_ps = check_section 'PS', \$offset_ps, \$length_ps; + verbose_kv 'position of PS section', $sec_ps; + my $sec_wmf = check_section 'WMF', \$offset_wmf, \$length_wmf; + verbose_kv 'position of WMF section', $sec_wmf; + my $sec_tiff = check_section 'TIFF', \$offset_tiff, \$length_tiff; + verbose_kv 'position of TIFF section', $sec_tiff; + my $pos = 30; + foreach my $beg (sort keys %check_positions) { + $check_positions{$beg} >= $pos or + die_error "Section overlap detected", { + '1 input file' => $inputfile, + '2 position of header' => "0..29", + '3 position of PS section' => $sec_ps, + '4 position of WMF section' => $sec_wmf, + '5 position of TIFF section' => $sec_tiff, + }; + } +} + +sub write_file ($$$$) { + my $type = shift; + my $file = shift; + my $off = shift; + my $len = shift; + my $org_len = $len; + return unless $file; + verbose_kv "$type file", $file; + if ($off <= 0 or $len <= 0) { + warning "No $type section found"; + return; + } + my $position = $off; + seek IN, $off, 0 or + die_error "Moving to $type section offset failed", { + '1 input file' => $inputfile, + '2 position' => $off, + '3 os error' => $!, + }; + open(OUT, '>', $file) or + die_error "Opening $type file for writing failed", { + "1 $type file" => $file, + '2 os error' => $!, + }; + binmode(OUT); + while ($len > 0) { + my $read_len = ($len > $buf_size) ? $buf_size : $len; + my $buf; + my $read_count = read IN, $buf, $read_len; + $read_count > 0 or + die_error "Reading file failed", { + '1 input file' => $inputfile, + "2 $type file" => $file, + '3 offset' => $position, + '4 length' => $read_len, + '5 os error' => $!, + }; + $position += $read_count; + print OUT $buf or + die_error "Writing $type file failed", { + "1 $type file" => $file, + '2 offset' => $org_len - $len, + '3 length' => $read_count, + '4 os error' => $!, + }; + $len -= $read_count; + } + close(OUT); + print "==> $type file written: [$file]\n" unless $quiet; +} + +write_file 'TIFF', $file_tiff, $offset_tiff, $length_tiff; +write_file 'WMF', $file_wmf, $offset_wmf, $length_wmf; +write_file 'EPS', $file_eps, $offset_ps, $length_ps; + +close(IN); + +1; + +__DATA__ + +=head1 NAME + +dosepsbin -- Extract PS/WMF/TIFF sections from DOS EPS binary files + +=head1 VERSION + +2011-11-10 v1.0 + +=head1 SYNOPSIS + +The progam B analyses an EPS file that is not +a plain ASCII PostScript file but given as DOS EPS binary file. + + dosepsbin [options] + +First it analyzes the I, validates its header +and summarizes the available sections. Depending on the +given options, the sections are then written to files. + +Options: + + --eps-file Write PS section to . + --wmf-file Write WMF section to . + --tiff-file Write WMF section to . + --inputfile The name of the input file. + --verbose Verbose output. + --quiet Only errors and warnings are printed. + --help Brief help message. + --man Full documentation. + --version Print version identification. + +The files for output must be different from the input file. + +=head1 DESCRIPTION + +=head2 DOS EPS Binary File Format + +A Encapsulated PostScript (EPS) file can also given in a special +binary format to support the inclusion of a thumbnail. The file +format starts with a binary header that contains the positions of +the possible sections: + +=over + +=item * Postscript (PS) + +=item * Windows Metafile Format (WMF) + +=item * Tag Image File Format (TIFF) + +=back + +The PS section must be present and either the WMF file or the TIFF +file should be given. + +=head1 OPTIONS + +=over + +=item B<->B<-eps-file>=> + +The PS section is written to >. The output file must +be different from the input file. + +=item B<->B<-wmf-file>=> + +The WMF section is written to > if present. The output +file must be different from the input file. + +=item B<->B<-tiff-file>=> + +The TIFF section is written to > if present. The output +file must be different from the input file. + +=item B<->B<-inputfile>=> + +The input file can also be given directly on the command line. +If the file does not exist, then the file with extension `.eps' +is tried. + +=item B<->B<-verbose> + +Verbose messages. + +=item B<->B<-quiet> + +No messages are printed except for errors and warnings. + +=item B<->B<-help> + +Display help screen. + +=item B<->B<-man> + +Prints manual page. + +=item B<->B<-version> + +Print version identification and exit. + +=back + +=head1 EXAMPLES + +The following command extracts the PS section from file F +and stores the result in file F: + + dosepsbin --eps-file test-ps.eps test.eps + +=head1 AUTHOR + +Heiko Oberdiek, email: heiko.oberdiek at googlemail.com + +=head1 COPYRIGHT AND LICENSE + +Copyright 2011 by Heiko Oberdiek. + +This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). + +=head1 SEE ALSO + +The DOS EPS binary file format is described +in section "5.2 Windows Metafile or TIFF": + + Adobe Developer Support, + Encapsulated PostScript File Format Specification, + Version 3.0, + 1992-05-01, + http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + +=head1 HISTORY + +=over 2 + +=item B<2011/11/10 v1.0> + +=over 2 + +=item * First version. + +=back + +=back + +=cut diff --git a/Master/texmf-dist/source/support/dosepsbin/configure b/Master/texmf-dist/source/support/dosepsbin/configure new file mode 100644 index 00000000000..81caa0e6e12 --- /dev/null +++ b/Master/texmf-dist/source/support/dosepsbin/configure @@ -0,0 +1,2179 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.57 for dosepsbin 1.0. +# +# Report bugs to . +# +# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +# 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 Bourne compatible +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+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +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 -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; 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'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# 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 + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + 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 + + ;; + 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_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + 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=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # 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 before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, 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 + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\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 sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +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$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# 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` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='dosepsbin' +PACKAGE_TARNAME='dosepsbin' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='dosepsbin 1.0' +PACKAGE_BUGREPORT='heiko.oberdiek@googlemail.com' + +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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# 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. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +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 + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -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 | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$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" ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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 ;; + + -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 ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + 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 ;; + + -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'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + 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; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + 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 paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +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 + + +# 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 its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$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 + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias + +# +# 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 dosepsbin 1.0 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 \`..'] + +_ACEOF + + cat <<_ACEOF +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] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --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] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of dosepsbin 1.0:";; + esac + cat <<\_ACEOF + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style 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 + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +dosepsbin configure 1.0 +generated by GNU Autoconf 2.57 + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +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 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by dosepsbin $as_me 1.0, which was +generated by GNU Autoconf 2.57. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +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` +hostinfo = `(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 + +} >&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_sep= +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_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + 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: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +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, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + 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 && + rm -rf 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 -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >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 -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; 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 `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ac_config_files="$ac_config_files Makefile" + + +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 +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# 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" +# ./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/* | \ + /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 $as_executable_p "$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 + + +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. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + 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' + + +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, don't put newlines in cache variables' values. +# 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. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *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 \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!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 "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + 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}' + +# 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 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed + + +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_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${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 Bourne compatible +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+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi + +# Support unset when possible. +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +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 -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; 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'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# 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 + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + 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 + + ;; + 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_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + 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=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # 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 before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, 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 + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +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 sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +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$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by dosepsbin $as_me 1.0, which was +generated by GNU Autoconf 2.57. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +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, 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 + +Configuration files: +$config_files + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +dosepsbin config.status 1.0 +configured by $0, generated by GNU Autoconf 2.57, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_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 + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +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 0 ;; + --debug | --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;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +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" ;; + + 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 $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "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 +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $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 -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# 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 + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo $f;; + *) # Relative + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +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,@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,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (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/Master/texmf-dist/source/support/dosepsbin/configure.ac b/Master/texmf-dist/source/support/dosepsbin/configure.ac new file mode 100644 index 00000000000..a5c03c0dde1 --- /dev/null +++ b/Master/texmf-dist/source/support/dosepsbin/configure.ac @@ -0,0 +1,16 @@ +dnl configure.ac +dnl +dnl Copyright 2011 by Heiko Oberdiek. +dnl +dnl The file is part of project dosepsbin. +dnl It's free software; you may redistribute it and/or +dnl modify it under the same terms as Perl itself +dnl (Perl Artistic License/GNU General Public License, version 2). +dnl +AC_INIT(dosepsbin, 1.0, heiko.oberdiek@googlemail.com) + +AC_CONFIG_FILES(Makefile) + +AC_PROG_INSTALL + +AC_OUTPUT diff --git a/Master/texmf-dist/source/support/dosepsbin/install-sh b/Master/texmf-dist/source/support/dosepsbin/install-sh new file mode 100644 index 00000000000..6ce63b9f76b --- /dev/null +++ b/Master/texmf-dist/source/support/dosepsbin/install-sh @@ -0,0 +1,294 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# 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, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} diff --git a/Master/texmf/doc/man/man1/dosepsbin.1 b/Master/texmf/doc/man/man1/dosepsbin.1 new file mode 100644 index 00000000000..ee80c3d37a7 --- /dev/null +++ b/Master/texmf/doc/man/man1/dosepsbin.1 @@ -0,0 +1,259 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DOSEPSBIN 1" +.TH DOSEPSBIN 1 "2011-11-10 v1.0" "perl v5.8.1" "User Contributed Perl Documentation" +.SH "NAME" +dosepsbin \-\- Extract PS/WMF/TIFF sections from DOS EPS binary files +.SH "VERSION" +.IX Header "VERSION" +2011\-11\-10 v1.0 +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +The progam \fBdosepsbin\fR analyses an \s-1EPS\s0 file that is not +a plain \s-1ASCII\s0 PostScript file but given as \s-1DOS\s0 \s-1EPS\s0 binary file. +.PP +.Vb 1 +\& dosepsbin [options] +.Ve +.PP +First it analyzes the \fIinput file\fR, validates its header +and summarizes the available sections. Depending on the +given options, the sections are then written to files. +.PP +Options: +.PP +.Vb 9 +\& --eps-file Write PS section to . +\& --wmf-file Write WMF section to . +\& --tiff-file Write WMF section to . +\& --inputfile The name of the input file. +\& --verbose Verbose output. +\& --quiet Only errors and warnings are printed. +\& --help Brief help message. +\& --man Full documentation. +\& --version Print version identification. +.Ve +.PP +The files for output must be different from the input file. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +.Sh "\s-1DOS\s0 \s-1EPS\s0 Binary File Format" +.IX Subsection "DOS EPS Binary File Format" +A Encapsulated PostScript (\s-1EPS\s0) file can also given in a special +binary format to support the inclusion of a thumbnail. The file +format starts with a binary header that contains the positions of +the possible sections: +.IP "* Postscript (\s-1PS\s0)" 4 +.IX Item "Postscript (PS)" +.PD 0 +.IP "* Windows Metafile Format (\s-1WMF\s0)" 4 +.IX Item "Windows Metafile Format (WMF)" +.IP "* Tag Image File Format (\s-1TIFF\s0)" 4 +.IX Item "Tag Image File Format (TIFF)" +.PD +.PP +The \s-1PS\s0 section must be present and either the \s-1WMF\s0 file or the \s-1TIFF\s0 +file should be given. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-\fR\fB\-eps\-file\fR=<\fIfile\fR>" 4 +.IX Item "--eps-file=" +The \s-1PS\s0 section is written to <\fIfile\fR>. The output file must +be different from the input file. +.IP "\fB\-\fR\fB\-wmf\-file\fR=<\fIfile\fR>" 4 +.IX Item "--wmf-file=" +The \s-1WMF\s0 section is written to <\fIfile\fR> if present. The output +file must be different from the input file. +.IP "\fB\-\fR\fB\-tiff\-file\fR=<\fIfile\fR>" 4 +.IX Item "--tiff-file=" +The \s-1TIFF\s0 section is written to <\fIfile\fR> if present. The output +file must be different from the input file. +.IP "\fB\-\fR\fB\-inputfile\fR=<\fIfile\fR>" 4 +.IX Item "--inputfile=" +The input file can also be given directly on the command line. +If the file does not exist, then the file with extension `.eps' +is tried. +.IP "\fB\-\fR\fB\-verbose\fR" 4 +.IX Item "--verbose" +Verbose messages. +.IP "\fB\-\fR\fB\-quiet\fR" 4 +.IX Item "--quiet" +No messages are printed except for errors and warnings. +.IP "\fB\-\fR\fB\-help\fR" 4 +.IX Item "--help" +Display help screen. +.IP "\fB\-\fR\fB\-man\fR" 4 +.IX Item "--man" +Prints manual page. +.IP "\fB\-\fR\fB\-version\fR" 4 +.IX Item "--version" +Print version identification and exit. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +The following command extracts the \s-1PS\s0 section from file \fItest.eps\fR +and stores the result in file \fItest\-ps.eps\fR: +.PP +.Vb 1 +\& dosepsbin --eps-file test-ps.eps test.eps +.Ve +.SH "AUTHOR" +.IX Header "AUTHOR" +Heiko Oberdiek, email: heiko.oberdiek at googlemail.com +.SH "COPYRIGHT AND LICENSE" +.IX Header "COPYRIGHT AND LICENSE" +Copyright 2011 by Heiko Oberdiek. +.PP +This library is free software; you may redistribute it and/or +modify it under the same terms as Perl itself +(Perl Artistic License/GNU General Public License, version 2). +.SH "SEE ALSO" +.IX Header "SEE ALSO" +The \s-1DOS\s0 \s-1EPS\s0 binary file format is described +in section \*(L"5.2 Windows Metafile or \s-1TIFF\s0\*(R": +.PP +.Vb 5 +\& Adobe Developer Support, +\& Encapsulated PostScript File Format Specification, +\& Version 3.0, +\& 1992-05-01, +\& http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf +.Ve +.SH "HISTORY" +.IX Header "HISTORY" +.IP "\fB2011/11/10 v1.0\fR" 2 +.IX Item "2011/11/10 v1.0" +.RS 2 +.PD 0 +.IP "* First version." 2 +.IX Item "First version." +.RE +.RS 2 +.RE diff --git a/Master/texmf/doc/man/man1/dosepsbin.man1.pdf b/Master/texmf/doc/man/man1/dosepsbin.man1.pdf new file mode 100644 index 00000000000..59e441f0547 Binary files /dev/null and b/Master/texmf/doc/man/man1/dosepsbin.man1.pdf differ diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 8ad5577f6ce..89c7024e501 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -126,7 +126,7 @@ my @TLP_working = qw( diagbox diagmac2 diagnose dichokey dictsym digiconfigs din1505 dinat dinbrief dingbat directory dirtree dirtytalk disser dk-bib dlfltxb dnaseq doc-pictex docmfp docmute documentation doi doipubmed - dot2texi dotarrow dotseqn dottex + dosepsbin dot2texi dotarrow dotseqn dottex doublestroke dox dozenal dpfloat dprogress drac draftcopy draftwatermark dramatist dratex drawstack droid drs drv dtk dtxgallery dtxtut duerer duerer-latex duotenzor dutchcal diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 65989546672..fcc5fe95efe 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2021,6 +2021,7 @@ $standardxmt='\.xmt'; 'ctanify' => '^ctanify$', 'ctanupload' => '\.pl$', 'de-macro' => 'de-macro', + 'dosepsbin' => 'dosepsbin\.pl$', 'dviasm' => '\.py$', 'ebong' => '\.py$', 'epstopdf' => 'epstopdf\.pl', @@ -2071,6 +2072,7 @@ $standardxmt='\.xmt'; %specialmans = ( 'bundledoc' => '\.1$', 'ctanify' => '\.1$', + 'dosepsbin' => 'dosepsbin.man', 'epstopdf' => 'epstopdf.1|epstopdf.man1.pdf', 'findhyph' => 'findhyph.1', 'latexdiff' => '\.1$', diff --git a/Master/tlpkg/tlpsrc/collection-fontutils.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontutils.tlpsrc index 207dd45e1ee..acfbfa078de 100644 --- a/Master/tlpkg/tlpsrc/collection-fontutils.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-fontutils.tlpsrc @@ -1,11 +1,13 @@ category Collection -shortdesc TeX and Outline font utilities +shortdesc Graphics TeX and outline font utilities longdesc Programs for conversion between font formats, testing fonts, longdesc virtual fonts, .gf and .pk manipulation, mft, fontinst, etc. -longdesc Manipulating OpenType, TrueType, PostScript Type 1, etc. +longdesc Manipulating OpenType, TrueType, PostScript Type 1, and +longdesc PostScript and other images. depend collection-basic depend accfonts depend afm2pl +depend dosepsbin depend epstopdf depend fontware depend lcdftypetools diff --git a/Master/tlpkg/tlpsrc/dosepsbin.tlpsrc b/Master/tlpkg/tlpsrc/dosepsbin.tlpsrc new file mode 100644 index 00000000000..d11ea72b9c0 --- /dev/null +++ b/Master/tlpkg/tlpsrc/dosepsbin.tlpsrc @@ -0,0 +1,4 @@ +binpattern f bin/${ARCH}/dosepsbin +docpattern d texmf-dist/doc/support/dosepsbin +docpattern f texmf/doc/man/man1/dosepsbin.* +runpattern d texmf-dist/scripts/dosepsbin -- cgit v1.2.3