diff options
author | Karl Berry <karl@freefriends.org> | 2009-10-11 00:32:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-10-11 00:32:13 +0000 |
commit | 455471f21689b8342041bf228ec1c4da29d67e20 (patch) | |
tree | b7ca3d33e9b39e135ff47e174d5d09d66392323d /Build/source/texk/dvipdfm | |
parent | 5742b8f40f9f495df32d4fd4f3c72767273c6ad2 (diff) |
dvipdfmx man pages have been written, so remove dvipdfm source tree now
git-svn-id: svn://tug.org/texlive/trunk@15756 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm')
106 files changed, 0 insertions, 45389 deletions
diff --git a/Build/source/texk/dvipdfm/AUTHORS b/Build/source/texk/dvipdfm/AUTHORS deleted file mode 100644 index 91aeb585527..00000000000 --- a/Build/source/texk/dvipdfm/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -dvipdfm was written by - -Mark Wicks -Kettering University -Flint, MI - -mwicks@kettering.edu - diff --git a/Build/source/texk/dvipdfm/COPYING b/Build/source/texk/dvipdfm/COPYING deleted file mode 100644 index 60549be514a..00000000000 --- a/Build/source/texk/dvipdfm/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/Build/source/texk/dvipdfm/ChangeLog b/Build/source/texk/dvipdfm/ChangeLog deleted file mode 100644 index e367ac0537b..00000000000 --- a/Build/source/texk/dvipdfm/ChangeLog +++ /dev/null @@ -1,122 +0,0 @@ -2008-12-11 Karl Berry <karl@tug.org> - - * pdfobj.c: doc fix. - -2008-12-09 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - - * pdfobj.c (pdf_version): change default to 4. - (pdf_set_verson): don't limit upper bound to 3. - (pdf_out_init): magic bytes. - * dvipdfm.c (do_args): don't mention 3 as upper bound in error message. - -2008-12-06 Karl Berry <karl@tug.org> - - * dvipdfm.c (do_args): omit check of upper bound for minor - pdf version. (Per mail from Akira, 05 Dec 2008 15:39:14.) - -2008-06-05 Karl Berry <karl@tug.org> - - * Update to 0.13.2d (with the timezone fix we already had, but - also finding fontmaps along the new path). - -2000-07-25 Mark A. Wicks <mwicks@betelgeuse.localdomain> - - * Changed version to 0.13 - * Cleaned up DVI and VF code so it all works on 16 bit chars - * Added support for 16 bit virtual fonts (OTF file) - -2000-07-23 Mark A. Wicks <mwicks@betelgeuse.localdomain> - - * Cleanly separated encodings from fonts so that multiple - encodings can be used for the same font in the same document. - That way, all glyphs (>256) are available from a font:-). - * Made Type 1 font parsing and font subsetting more robust - * Changed version to 0.12.9beta - * Changed encoding method to help Acrobat Exchange 3.0 - merge files created by dvipdfm. - -2000-07-06 Mark A. Wicks <mwicks@betelgeuse.localdomain> - - * Changed version to 0.12.8 - * Fixed a bug in the encoding code that could - cause characters to disappear in certain situations - * Fixed figure inclusion bugs - - Specials generated by older psfig macros now work - - Clipping/cropping and bounding box overrides now - work on included MetaPost images. Clipping/cropping - and bounding box overrides don't (and may never) - work on bitmaps. - -2000-05-24 Mark A. Wicks <mwicks@betelgeuse.localdomain> - * Fixed another unrelated bug that mostly affected color maps on - embedded bitmaps - -2000-02-06 Mark A. Wicks <mwicks@betelgeuse.localdomain> - * Fixed a bug that mostly affected color maps on embedded bitmaps - -1999-01 thru -2000-03 07-06 Mark A. Wicks <mwicks@betelgeuse.localdomain> - * Made PS parsing a bit more robust - -1999-09-19 Mark A. Wicks <mwicks@betelgeuse.wicks.net> - * Changed version to 0.12.4. - * Added link breaking code (aka breaklinks) and additional - \special operators to support them. - * Fixed a bug in slanted font code - * Fixed a bug in TFM code that won't actually execute - unless you have a defective TFM file. - -1999-09-06 Mark A. Wicks <mwicks@betelgeuse.wicks.net> - - * Added native MetaPost and native support - for simple PS operators - * Added PS/EPS support with helper program - * Added a configuration file - * Added standard color specials - * Added standard landscape and papersize specials - * Added support for PSfile and plotfile specials - -1999-08-22 Mark A. Wicks <mwicks@betelgeuse.wicks.net> - - * Added slantfont and expand font support - * Removed dependency on AFM files - * Added support for font remapping to work around - some problems with Adobe Reader and certain character positions. - * Reworked font code a lot. - -1999-02-08 Mark A. Wicks <mwicks@odo.kettering.edu> - * Version 0.10.0 includes - PK font support - Tpic special support - kpath searching for included pdf and jpeg files via - the path defined by TEXPICTS - -1998-11-30 Mark A. Wicks <mwicks@odo.kettering.edu> - - * Cleaned up a lot of little things. - * Tried to make code 8-bit clean in most places - * Added check for timezone in autoconf script. - -1998-11-29 Mark A. Wicks <mwicks@betelgeuse.wicks.net> - - * Added font re-encoding support and created a map file for common - PostScript fonts. - - * Cleaned up some little things. - -1998-11-27 Mark A. Wicks <mwicks@odo.kettering.edu> - - * Changed source tree to fit with texk distribution. - - * Added cmyk color support. - -1998-11-26 Mark A. Wicks <mwicks@odo.kettering.edu> - - * Fixed a bug in the outline/bookmark tree structure. - - * Changed the \special parser so it would recognize numbers - that don't start with a digit. - - * Added macro support for Graphics and hyperref. - - * Several minor changes. diff --git a/Build/source/texk/dvipdfm/ChangeLog.TL b/Build/source/texk/dvipdfm/ChangeLog.TL deleted file mode 100644 index 0b62e94291d..00000000000 --- a/Build/source/texk/dvipdfm/ChangeLog.TL +++ /dev/null @@ -1,37 +0,0 @@ -ChangeLog.TL: Changes for dvipdfm (teTeX / TeX Live) -==================================================== - -2008-05-23 Karl Berry <karl@tug.org> - - * Makefile.in (install-exec): no longer install ebb, since - dvipdfmx can serve as a compatible replacement. - -2008-02-29 Peter Breitenlohner <peb@mppmu.mpg.de> - - The Makefile.in uses `kpse_include ../make/config.mk'; thus - autoheader most generate c-auto.in. - * config.h (new): includes the autogenerated c-auto.h. - * configure.in: removed `--enable-maint', added AC_DEFINES's - third arg to provide autoheader templates ... - * acinclude.m4: added AC_DEFINES's third arg to provide autoheader - templates ... - * acconfig.h (removed): ... renamed ... - * acconfig.h.dist (new): ... into this. - - * configure.in: don't (re-)define KPATHSEA (defined as some - kpathsea version number). - * dvipdfm.c: use `#ifdef HAVE_KPATHSEA', noy `#ifdef KPATHSEA'. - -2008-01-30 Peter Breitenlohner <peb@mppmu.mpg.de> - - Convert from autoconf-2.13 to autoconf-2.59+: - * Makefile.in: Add @configure_input@ line. - * acinclude.m4 (new): Renamed from aclocal.m4. - * aclocal.m4 (new): Generated (aclocal -I ../m4). - * configure: Regenerated (autoconf). - -2007-07-15 Karl Berry <karl@tug.org> - - * version: change to 0.13.3TL. - * new check for MetaPost (>0.9) output. - diff --git a/Build/source/texk/dvipdfm/Credits b/Build/source/texk/dvipdfm/Credits deleted file mode 100644 index a4c0dff85e0..00000000000 --- a/Build/source/texk/dvipdfm/Credits +++ /dev/null @@ -1,19 +0,0 @@ - - The kpathsea library is an essential part of dvipdfm (and all Web2c-based -TeX utilities). Thanks to Karl Berry and Olaf Weber for developing this and -making it available. - - Thanks to Cesar Crusius for encouraging me to support MetaPost output and -for providing sample code. - - Thanks to sevearl unnamed people for submitting bug reports. Thanks -especially to those who tracked down problems and contributed -patches---Akiro Kakuto and Tommy Ekola. - - Thanks to those who have worked hard to provide support for dvipdfm in -other Tex/LaTeX packages---Cesar Crucius, D.P. Story, Donald Knuth, Hans -Hagan, and especially Sebastian Rahtz. I apologize for anyone who I have -neglected to mention. - - - diff --git a/Build/source/texk/dvipdfm/INSTALL b/Build/source/texk/dvipdfm/INSTALL deleted file mode 100644 index af5cfbb3a96..00000000000 --- a/Build/source/texk/dvipdfm/INSTALL +++ /dev/null @@ -1,111 +0,0 @@ -Prerequisite packages: - - To compile and install this package, you NEED an *installed* version of -the kpathsea library. Usually a TeTeX installation will have this. -Specifically, this means the kpathsea headers must be in your preprocessor -search path (-I) and the kpathsea library must be in your linker search path -(-L). The kpathsea library is included in source form with the "texk" -bundle or the "web2c" bundle, available on CTAN. - - Similar remarks hold for "libz" and its headers; however, dvipdfm will -configure and compile without a recent version of libz--you just won't have -any compression. It *requires* kpath, however. - - The same comments hold for libpng as for libz. You *should* have a -recent version of libpng installed before trying to compile dvipdfm. It -should compile without libpng, but you will lose the ability to include -thumbnails and png images. - - You will probably want to have GhostScript installed, although it isn't -absolutely necessary. - -Installation: - - Also, you will probabably want - - 1. Unbundle the gzip'ed tar file. - - 2. Before compiling, set the CPPFLAGS, CFLAGS, and LDFLAGS environment - variables with any options you want and also any -I or -L options - required to locate kpathsea. CPPFLAGS should probably contain -I - pointing at the directory containing tex-file.h LDFLAGS should - probably contain -L pointing at the directory containing - libkpathsea.a - - 3. Type "./configure" in the dvipdfm directory along with any necessary - options, e.g., "--prefix=PATH". Make sure you specify the path to - the directory containing your TeX tree root using --datadir=PATH, - e.g., if your TeX tree in contained in /usr/share/texmf, you should - supply the option --datadir=/usr/share to the configure script. Note - that the prefix and datadir cannot be set independently. They must - belong to the same tree. For example, you could be in trouble if you - say something like --datadir=/usr/local/share/tetex and - --prefix=/usr/local. The kpathsea library uses the path containing - the executable as a hint to locating the temf texmf.cnf file. - The executable MUST be placed in the same directory as your other - executables that use kpathsea. - - 4. Type "make" in the dvipdfm directory. - - 5. If all goes well, type "make install" in the dvipdfm directory. - - 6. Replace the dvipdfm.def in your LaTex distribution with the one - provided by the latest dvipdfm distribution. This is necessary for - .eps and .png file support. The install script will not do this - for you because I do not believe it is healthy to overwrite a file - supplied by a different distribution. - - 7. Run "mktexlsr" or its equivalent depending on your TeX distribution. - Even if you installed dvipdfm on a Unix system as an ordinary user, - you should run mktexlsr to hash your "local" tex files. - - 8. Edit the config script in the texmf/dvipdfm directory and change to - suit your needs. An important configuration option is to set the - helper application for converting PS/EPS files to PDF format. By - default this is setup for GhostScript. If the idea - of executing running a command in a shell scares you, - comment out the line with the command string. Alternatively, - if you really want to disable it, comment the #define HAVE_SYSTEM - in config.h - - I have installed this cleanly myself on Solaris 2.5 and RedHat Linux 5.1 -(upgraded to tetex-0.9). It has been compiled on various platforms by -various others as part of the TeX-Live project and as part of several -Windows distributions. I have been using it primarily under Linux. - - Please e-mail bug reports to - - Mark A. Wicks - Kettering University - mwicks@kettering.edu - -Notes/Possible Problems: - - 1. The Makefile installs the "dvipdfm" and the "ebb" binaries. - The dvipdfm binary requries kpathsea to do its font searching. - You must already have a working TeX installation with its own - texmf.cnf, etc. - - 2. In addition to this package, you will need PostScript Type1 fonts for - the Computer Modern fonts and any additional fonts you want to use. - PostScript Type1 fonts are distributed by the American Math Society. - Information about these fonts is available at the URL - - http://www.ams.org/tex/type1-fonts.html - - and the fonts themselves (Computer Modern and AMS fonts) are available at - - ftp://ftp.ams.org/pub/tex/psfonts/ - - These fonts need to be installed in a location where the kpathsea - library can find them. - - 3. If "dvipdfm" complains that it can't find fonts or its font map file, - read the "kpathsea" documentation about debugging path searching. If - you can't get kpathsea to find your texmf tree, it can always locate - the fonts using environment variables. If "kpathsea" can't find your - texmf.cnf, try setting the environment variable TEXMFCNF to point to - the directory containing texmf.cnf As a last resort, you can set - T1FONTS to point to your ".pfb" files, and set TFMFONTS to point to - your ".tfm" files. Use two trailing //s on the path name if you want - that path recursively searched). diff --git a/Build/source/texk/dvipdfm/INSTALL-BINARY b/Build/source/texk/dvipdfm/INSTALL-BINARY deleted file mode 100644 index 01a7308cee2..00000000000 --- a/Build/source/texk/dvipdfm/INSTALL-BINARY +++ /dev/null @@ -1,51 +0,0 @@ -Installation: - - If you are trying to manually install a pre-compiled binary version of this package, -you will have to install one to three files. - - 1. Copy the executables dvipdfm and ebb (optional) to a directory in your -path. - - 2. Copy the t1fonts.map (optional) file to a dvipdfm subdirectory of -your texmf tree, e.g., /usr/share/texmf/dvipdfm/t1fonts.map - - If dvipdfm doesn't work (probably because kpathsea can't find your -texmf.cnf file), try one of the following remedies using environment variables: - - i) Set TEXMFCNF to point to the directory containing your texmf.cnf - file. - - or - - ii) Set T1FONTS to point to the directory containing your .pfb files, - set TFMFONTS to point to the directory containing your .tfm files, - and set AFMFONTS to point to the directory containing your .afm files. - -Notes: - 1. The dvipdfm binary requries kpathsea to do its font searching. - You must already have a working TeX installation with its own - texmf.cnf, etc. - - 2. In addition to this package, you will need PostScript Type1 fonts for - the Computer Modern fonts and any additional fonts you want to use. - PostScript Type1 fonts are distributed by the American Math Society. - Information about these fonts is available at the URL - - http://www.ams.org/tex/type1-fonts.html - - and the fonts themselves (Computer Modern and AMS fonts) are available at - - ftp://ftp.ams.org/pub/tex/psfonts/ - - These fonts need to be installed in a location where the kpathsea - library can find them. - - 3. If "dvipdfm" complains that it can't find fonts, read the "kpathsea" - documentation about debugging path searching. If you can't get - kpathsea to find your texmf tree, it can always locate the - fonts using environment variables. If "kpathsea" can't find - your texmf.cnf, try setting the environment variable TEXMFCNF - to point to the directory containing texmf.cnf. As an - alternative, you can set AFMFONTS to point to your ".afm" files - (dvipdfm needs these), set T1FONTS to point to your ".pfb" files, - and set TFMFONTS to point to your ".tfm" files. diff --git a/Build/source/texk/dvipdfm/Makefile.am b/Build/source/texk/dvipdfm/Makefile.am deleted file mode 100644 index fda311802aa..00000000000 --- a/Build/source/texk/dvipdfm/Makefile.am +++ /dev/null @@ -1,145 +0,0 @@ -## -ACLOCAL_AMFLAGS = -I ../../m4 - -INCLUDES = $(KPATHSEA_INCLUDES) $(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) -AM_CPPFLAGS = -DHAVE_KPATHSEA - -## FIXME: don't install ebb (use compatible version in dvipdfmx) - -bin_PROGRAMS = dvipdfm ebb - -dvipdfm_SOURCES = \ - colors.h \ - colorsp.c \ - colorsp.h \ - dvi.c \ - dvi.h \ - dvicodes.h \ - dvipdfm.c \ - dvipdfm.h \ - encodings.c \ - encodings.h \ - error.h \ - epdf.c \ - epdf.h \ - htex.c \ - htex.h \ - jpeg.c \ - jpeg.h \ - macglyphs.h \ - mem.c \ - mem.h \ - mfileio.c \ - mfileio.h \ - mpost.c \ - mpost.h \ - numbers.c \ - numbers.h \ - pdfdev.c \ - pdfdev.h \ - pdfdoc.c \ - pdfdoc.h \ - pdflimits.h \ - pdfobj.c \ - pdfobj.h \ - pdfparse.c \ - pdfparse.h \ - pdfspecial.c \ - pdfspecial.h \ - pkfont.c \ - pkfont.h \ - pngimage.c \ - pngimage.h \ - psimage.c \ - psimage.h \ - psspecial.c \ - psspecial.h \ - standardenc.h \ - system.h \ - t1crypt.c \ - t1crypt.h \ - tfm.c \ - tfm.h \ - thumbnail.c \ - thumbnail.h \ - tpic.c \ - tpic.h \ - ttf.h \ - twiddle.h \ - type1.c \ - type1.h \ - vf.c \ - vf.h \ - winansi.h - -if HAVE_TTF -dvipdfm_SOURCES += ttf.c -endif HAVE_TTF - -dvipdfm_DEPENDENCIES = $(KPATHSEA_DEPEND) $(LIBPNG_DEPEND) $(ZLIB_DEPEND) - -ebb_SOURCES = \ - ebb.c \ - error.h \ - jpeg.c \ - jpeg.h \ - macglyphs.h \ - mem.c \ - mem.h \ - mfileio.c \ - mfileio.h \ - numbers.c \ - numbers.h \ - pdflimits.h \ - pdfobj.c \ - pdfobj.h \ - pdfparse.c \ - pdfparse.h \ - pngimage.c \ - pngimage.h \ - system.h \ - twiddle.h - -ebb_DEPENDENCIES = $(KPATHSEA_DEPEND) - -LDADD = $(KPATHSEA_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) - -## Rebuild libkpathsea -@KPATHSEA_RULE@ -## Rebuild libpng -@LIBPNG_RULE@ -## Rebuild libz -@ZLIB_RULE@ - -dist_bin_SCRIPTS = dvipdft - -dist_man1_MANS = dvipdfm.1 dvipdft.1 ebb.1 - -EXTRA_DIST = \ - ChangeLog.TL \ - Credits \ - INSTALL-BINARY \ - Makefile.in.dist \ - OBTAINING \ - README.FIRST \ - acconfig.h.dist \ - acconfig.h.in \ - acinclude.m4.orig \ - ascii85.c \ - cmr.map \ - config \ - config-dist \ - t1fonts.map \ - version \ - doc/dvipdfm.tex \ - doc/mwicks.bb \ - doc/mwicks.jpeg \ - doc/transistor.bb \ - doc/transistor.eps \ - doc/transistor.fig \ - doc/transistor.pdf - -## Eventually delete these files -## -EXTRA_DIST += Makefile.in.orig configure.in.orig - diff --git a/Build/source/texk/dvipdfm/Makefile.in b/Build/source/texk/dvipdfm/Makefile.in deleted file mode 100644 index 19533bb330e..00000000000 --- a/Build/source/texk/dvipdfm/Makefile.in +++ /dev/null @@ -1,914 +0,0 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = dvipdfm$(EXEEXT) ebb$(EXEEXT) -@HAVE_TTF_TRUE@am__append_1 = ttf.c -subdir = . -DIST_COMMON = README $(am__configure_deps) $(dist_bin_SCRIPTS) \ - $(dist_man1_MANS) $(srcdir)/../../build-aux/config.guess \ - $(srcdir)/../../build-aux/config.sub \ - $(srcdir)/../../build-aux/depcomp \ - $(srcdir)/../../build-aux/install-sh \ - $(srcdir)/../../build-aux/ltmain.sh \ - $(srcdir)/../../build-aux/missing \ - $(srcdir)/../../build-aux/mkinstalldirs $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure ../../build-aux/config.guess \ - ../../build-aux/config.sub ../../build-aux/depcomp \ - ../../build-aux/install-sh ../../build-aux/ltmain.sh \ - ../../build-aux/missing ../../build-aux/mkinstalldirs \ - ../../build-aux/texinfo.tex ../../build-aux/ylwrap AUTHORS \ - COPYING ChangeLog INSTALL NEWS TODO -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../../m4/cho-libs.m4 \ - $(top_srcdir)/../../m4/kpse-common.m4 \ - $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ - $(top_srcdir)/../../m4/kpse-libpng-flags.m4 \ - $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ - $(top_srcdir)/../../m4/libtool.m4 \ - $(top_srcdir)/../../m4/ltoptions.m4 \ - $(top_srcdir)/../../m4/ltsugar.m4 \ - $(top_srcdir)/../../m4/ltversion.m4 \ - $(top_srcdir)/../../m4/lt~obsolete.m4 \ - $(top_srcdir)/../../m4/maw-time.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/../../build-aux/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(man1dir)" -PROGRAMS = $(bin_PROGRAMS) -am__dvipdfm_SOURCES_DIST = colors.h colorsp.c colorsp.h dvi.c dvi.h \ - dvicodes.h dvipdfm.c dvipdfm.h encodings.c encodings.h error.h \ - epdf.c epdf.h htex.c htex.h jpeg.c jpeg.h macglyphs.h mem.c \ - mem.h mfileio.c mfileio.h mpost.c mpost.h numbers.c numbers.h \ - pdfdev.c pdfdev.h pdfdoc.c pdfdoc.h pdflimits.h pdfobj.c \ - pdfobj.h pdfparse.c pdfparse.h pdfspecial.c pdfspecial.h \ - pkfont.c pkfont.h pngimage.c pngimage.h psimage.c psimage.h \ - psspecial.c psspecial.h standardenc.h system.h t1crypt.c \ - t1crypt.h tfm.c tfm.h thumbnail.c thumbnail.h tpic.c tpic.h \ - ttf.h twiddle.h type1.c type1.h vf.c vf.h winansi.h ttf.c -@HAVE_TTF_TRUE@am__objects_1 = ttf.$(OBJEXT) -am_dvipdfm_OBJECTS = colorsp.$(OBJEXT) dvi.$(OBJEXT) dvipdfm.$(OBJEXT) \ - encodings.$(OBJEXT) epdf.$(OBJEXT) htex.$(OBJEXT) \ - jpeg.$(OBJEXT) mem.$(OBJEXT) mfileio.$(OBJEXT) mpost.$(OBJEXT) \ - numbers.$(OBJEXT) pdfdev.$(OBJEXT) pdfdoc.$(OBJEXT) \ - pdfobj.$(OBJEXT) pdfparse.$(OBJEXT) pdfspecial.$(OBJEXT) \ - pkfont.$(OBJEXT) pngimage.$(OBJEXT) psimage.$(OBJEXT) \ - psspecial.$(OBJEXT) t1crypt.$(OBJEXT) tfm.$(OBJEXT) \ - thumbnail.$(OBJEXT) tpic.$(OBJEXT) type1.$(OBJEXT) \ - vf.$(OBJEXT) $(am__objects_1) -dvipdfm_OBJECTS = $(am_dvipdfm_OBJECTS) -dvipdfm_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -am_ebb_OBJECTS = ebb.$(OBJEXT) jpeg.$(OBJEXT) mem.$(OBJEXT) \ - mfileio.$(OBJEXT) numbers.$(OBJEXT) pdfobj.$(OBJEXT) \ - pdfparse.$(OBJEXT) pngimage.$(OBJEXT) -ebb_OBJECTS = $(am_ebb_OBJECTS) -ebb_LDADD = $(LDADD) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -SCRIPTS = $(dist_bin_SCRIPTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(dvipdfm_SOURCES) $(ebb_SOURCES) -DIST_SOURCES = $(am__dvipdfm_SOURCES_DIST) $(ebb_SOURCES) -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man1_MANS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -KPATHSEA_LIBS = @KPATHSEA_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBPNG_DEPEND = @LIBPNG_DEPEND@ -LIBPNG_INCLUDES = @LIBPNG_INCLUDES@ -LIBPNG_LIBS = @LIBPNG_LIBS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -ZLIB_DEPEND = @ZLIB_DEPEND@ -ZLIB_INCLUDES = @ZLIB_INCLUDES@ -ZLIB_LIBS = @ZLIB_LIBS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -ACLOCAL_AMFLAGS = -I ../../m4 -INCLUDES = $(KPATHSEA_INCLUDES) $(LIBPNG_INCLUDES) $(ZLIB_INCLUDES) -AM_CPPFLAGS = -DHAVE_KPATHSEA -dvipdfm_SOURCES = colors.h colorsp.c colorsp.h dvi.c dvi.h dvicodes.h \ - dvipdfm.c dvipdfm.h encodings.c encodings.h error.h epdf.c \ - epdf.h htex.c htex.h jpeg.c jpeg.h macglyphs.h mem.c mem.h \ - mfileio.c mfileio.h mpost.c mpost.h numbers.c numbers.h \ - pdfdev.c pdfdev.h pdfdoc.c pdfdoc.h pdflimits.h pdfobj.c \ - pdfobj.h pdfparse.c pdfparse.h pdfspecial.c pdfspecial.h \ - pkfont.c pkfont.h pngimage.c pngimage.h psimage.c psimage.h \ - psspecial.c psspecial.h standardenc.h system.h t1crypt.c \ - t1crypt.h tfm.c tfm.h thumbnail.c thumbnail.h tpic.c tpic.h \ - ttf.h twiddle.h type1.c type1.h vf.c vf.h winansi.h \ - $(am__append_1) -dvipdfm_DEPENDENCIES = $(KPATHSEA_DEPEND) $(LIBPNG_DEPEND) $(ZLIB_DEPEND) -ebb_SOURCES = \ - ebb.c \ - error.h \ - jpeg.c \ - jpeg.h \ - macglyphs.h \ - mem.c \ - mem.h \ - mfileio.c \ - mfileio.h \ - numbers.c \ - numbers.h \ - pdflimits.h \ - pdfobj.c \ - pdfobj.h \ - pdfparse.c \ - pdfparse.h \ - pngimage.c \ - pngimage.h \ - system.h \ - twiddle.h - -ebb_DEPENDENCIES = $(KPATHSEA_DEPEND) -LDADD = $(KPATHSEA_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) -dist_bin_SCRIPTS = dvipdft -dist_man1_MANS = dvipdfm.1 dvipdft.1 ebb.1 -EXTRA_DIST = ChangeLog.TL Credits INSTALL-BINARY Makefile.in.dist \ - OBTAINING README.FIRST acconfig.h.dist acconfig.h.in \ - acinclude.m4.orig ascii85.c cmr.map config config-dist \ - t1fonts.map version doc/dvipdfm.tex doc/mwicks.bb \ - doc/mwicks.jpeg doc/transistor.bb doc/transistor.eps \ - doc/transistor.fig doc/transistor.pdf Makefile.in.orig \ - configure.in.orig -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -dvipdfm$(EXEEXT): $(dvipdfm_OBJECTS) $(dvipdfm_DEPENDENCIES) - @rm -f dvipdfm$(EXEEXT) - $(LINK) $(dvipdfm_OBJECTS) $(dvipdfm_LDADD) $(LIBS) -ebb$(EXEEXT): $(ebb_OBJECTS) $(ebb_DEPENDENCIES) - @rm -f ebb$(EXEEXT) - $(LINK) $(ebb_OBJECTS) $(ebb_LDADD) $(LIBS) -install-dist_binSCRIPTS: $(dist_bin_SCRIPTS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-dist_binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colorsp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dvipdfm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ebb.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodings.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epdf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpeg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfileio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpost.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numbers.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfdev.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfdoc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfobj.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfparse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pdfspecial.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkfont.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pngimage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psimage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psspecial.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t1crypt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thumbnail.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tpic.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/type1.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vf.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-man1: $(dist_man1_MANS) - @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list='$(dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ - uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: all install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool ctags dist \ - dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-compile \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am \ - install-dist_binSCRIPTS install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-man1 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-dist_binSCRIPTS uninstall-man \ - uninstall-man1 - - -@KPATHSEA_RULE@ -@LIBPNG_RULE@ -@ZLIB_RULE@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/texk/dvipdfm/Makefile.in.dist b/Build/source/texk/dvipdfm/Makefile.in.dist deleted file mode 100644 index 1fe85a6c5af..00000000000 --- a/Build/source/texk/dvipdfm/Makefile.in.dist +++ /dev/null @@ -1,223 +0,0 @@ -CC=@CC@ -CFLAGS=@CFLAGS@ -LDFLAGS=@LDFLAGS@ -CPPFLAGS=@CPPFLAGS@ -I. -INSTALL=@INSTALL@ -LIBS=@LIBS@ -lm -srcdir=@srcdir@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@bindir@ -datadir=@datadir@ -mandir=@mandir@ -texmf=@TEXMF@ -dvipdfmdir=$(texmf)/dvipdfm -psheaderdir=$(texmf)/dvips -programs=dvipdfm ebb -scripts=dvipdft -mkinstalldirs=@SHELL@ mkinstalldirs -.c.o: - $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -src=pdfdev.c pdfdoc.c dvi.c mfileio.c mem.c jpeg.c numbers.c pdfobj.c \ - pdfparse.c pdfspecial.c tfm.c type1.c dvipdfm.c epdf.c vf.c \ - t1crypt.c pkfont.c tpic.c thumbnail.c pngimage.c ebb.c htex.c \ - mpost.c psimage.c psspecial.c colorsp.c encodings.c @TTF_OPT@ ttf.c -objects=pdfdev.o pdfdoc.o dvi.o mfileio.o mem.o jpeg.o numbers.o pdfobj.o \ - pdfparse.o pdfspecial.o tfm.o type1.o dvipdfm.o epdf.o vf.o \ - t1crypt.o pkfont.o tpic.o thumbnail.o pngimage.o htex.o \ - mpost.o psimage.o psspecial.o colorsp.o encodings.o @TTF_OPT@ ttf.o -manpages=dvipdfm.1 - -eobjects=ebb.o jpeg.o pdfobj.o mem.o mfileio.o numbers.o pdfparse.o \ - pngimage.o -encodings=ot1.enc ot1alt.enc ot1r.enc -mapfiles=cmr.map psbase14.map lw35urw.map lw35urwa.map -check default all: $(programs) -ebb: $(eobjects) Makefile - $(CC) -o ebb $(eobjects) $(LDFLAGS) $(LIBS) -dvipdfm: $(objects) Makefile - $(CC) -o dvipdfm $(objects) $(LDFLAGS) $(LIBS) -include depend.make -# -# Install/uninstall -# -install: install-exec install-data install-man -uninstall: uninstall-exec uninstall-data uninstall-man -install-exec: all - $(mkinstalldirs) $(bindir); \ - for i in $(programs) $(scripts) ; \ - do $(INSTALL) $$i $(bindir); \ - done -# t1fonts.map. -install-man: - $(mkinstalldirs) $(mandir)/man1; \ - for i in $(manpages); \ - do $(INSTALL) -m 644 $$i $(mandir)/man1; \ - done -install-data: - $(mkinstalldirs) $(dvipdfmdir)/base; \ - if test -f $(dvipdfmdir)/config; then \ - /bin/mv $(dvipdfmdir)/config $(dvipdfmdir)/config.sav; \ - fi - $(mkinstalldirs) $(dvipdfmdir)/config; \ - if test -f $(dvipdfmdir)/t1fonts.map; then \ - /bin/mv $(dvipdfmdir)/t1fonts.map $(dvipdfmdir)/config; \ - fi - if test -f $(dvipdfmdir)/config.sav; then \ - /bin/mv $(dvipdfmdir)/config.sav $(dvipdfmdir)/config/config; \ - fi - if test ! -r $(dvipdfmdir)/config/t1fonts.map \ - || grep 'original t1fonts.map --' $(dvipdfmdir)/config/t1fonts.map \ - >/dev/null; then \ - /bin/rm -f $(dvipdfmdir)/config/t1fonts.map; \ - $(INSTALL) -m 644 ./t1fonts.map $(dvipdfmdir)/config; \ - else true; fi - if test ! -r $(dvipdfmdir)/config/config \ - || grep 'original config --' $(dvipdfmdir)/config/config \ - >/dev/null; then \ - /bin/rm -f $(dvipdfmdir)/config/config; \ - $(INSTALL) -m 644 ./config $(dvipdfmdir)/config; \ - else true; fi - for i in $(mapfiles); \ - do $(INSTALL) -m 644 $$i $(dvipdfmdir)/config; \ - done - for i in $(encodings); \ - do $(INSTALL) -m 644 $$i $(dvipdfmdir)/base; \ - done -uninstall-exec: - for i in $(programs); \ - do rm -f $(bindir)/$$i; \ - done - for i in $(scripts); \ - do rm -f $(bindir)/$$i; \ - done -uninstall-man: - for i in $(manpages); \ - do rm -f $(mandir)/man1/$$i; \ - done -uninstall-data: - if grep 'original pdffonts.map --' $(psheaderdir)/dvipdfm/pdffonts.map \ - >/dev/null 2>&1; then rm -f $(psheaderdir)/dvipdfm/pdffonts.map; \ - else true; fi - if grep 'original pdffonts.map --' $(dvipdfmdir)/pdffonts.map \ - >/dev/null 2>&1; then rm -f $(dvipdfmdir)/pdffonts.map; \ - else true; fi - if grep 'original t1fonts.map --' $(dvipdfmdir)/t1fonts.map \ - >/dev/null 2>&1; then rm -f $(dvipdfmdir)/t1fonts.map; \ - else true; fi - if grep 'original t1fonts.map --' $(dvipdfmdir)/config/t1fonts.map \ - >/dev/null 2>&1; then rm -f $(dvipdfmdir)/config/t1fonts.map; \ - else true; fi - if grep 'original config --' $(dvipdfmdir)/config \ - >/dev/null 2>&1; then rm -f $(dvipdfmdir)/config; \ - else true; fi - if grep 'original config --' $(dvipdfmdir)/config/config \ - >/dev/null 2>&1; then rm -f $(dvipdfmdir)/config/config; \ - else true; fi - for i in $(encodings); \ - do \ - if test -r $(dvipdfmdir)/$$i; then /bin/rm -f $(dvipdfmdir)/$$i; fi; \ - if test -r $(dvipdfmdir)/base/$$i; then /bin/rm -f $(dvipdfmdir)/base/$$i; fi; \ - done - for i in $(mapfiles); \ - do \ - if test -r $(dvipdfmdir)/config/$$i; then /bin/rm -f $(dvipdfmdir)/config/$$i; fi; \ - done - for i in base config; \ - do \ - if test -d $(dvipdfmdir)/$$i; then /bin/rmdir $(dvipdfmdir)/$$i > /dev/null 2>&1 ; fi; \ - done - if test -d $(dvipdfmdir); then /bin/rmdir $(dvipdfmdir) > /dev/null 2>&1 ; fi -# -# Developer stuff -# -maintainerclean: clean distclean - rm -f config.h.in configure -distclean: clean - rm -f Makefile config.h config.cache confdefs.h -clean: - rm -f $(programs) *.o *.pdf - for i in . doc latex-support ; \ - do rm -f $$i/*.dvi $$i/*.log $$i/*~ $$i/*.out $$i/*.aux $$i/core ; \ - done - rm -f doc/dvipdfm.pdf latex-support/sample.pdf -TAGS: $(src) - etags *.[ch] -depend: - rm -f depend.make - make depend.make -depend.make: - $(CC) $(CPPFLAGS) -MM $(src) > depend.make -@MAINT@# -@MAINT@# Autoconf stuff -@MAINT@# -@MAINT@Makefile: Makefile.in configure -@MAINT@ echo "***** You need to rerun ./configure. *****" -@MAINT@ exit 1 -@MAINT@config.h: config.h.in configure.in -@MAINT@ echo "***** You need to rerun ./configure. *****" -@MAINT@ rm config.h -@MAINT@ exit 1 -@MAINT@config.h.in: acconfig.h configure.in -@MAINT@ autoheader -@MAINT@ touch config.h.in -@MAINT@aclocal.m4: SCCS/s.aclocal.m4 -@MAINT@ get aclocal.m4 -@MAINT@configure: configure.in aclocal.m4 -@MAINT@ autoconf -@MAINT@# -@MAINT@ # Automated distributions -@MAINT@# -@MAINT@TOPDIR=${HOME}/Projects/rpmtree -@MAINT@doc/dvipdfm.dvi: doc/dvipdfm.tex -@MAINT@ cd doc; tex dvipdfm -@MAINT@doc/dvipdfm.pdf: doc/dvipdfm.dvi -@MAINT@ cd doc; dvipdft dvipdfm -@MAINT@tarball: depend configure - /bin/rm -rf ../dvipdfm - mkdir ../dvipdfm - tar -zcf ../dvipdfm-@VERSION@.tar.gz -T distribution-file-list - cd .. - tar -C ../dvipdfm -zxf ../dvipdfm-@VERSION@.tar.gz - tar -C .. -zcf ../dvipdfm-@VERSION@.tar.gz dvipdfm - /bin/rm -rf ../dvipdfm -@MAINT@dvipdfm-static: $(objects) Makefile - $(CC) -o dvipdfm-static $(objects) --static $(LDFLAGS) $(LIBS) -@MAINT@ebb-static : $(eobjects) Makefile - $(CC) -o ebb-static $(eobjects) --static $(LDFLAGS) $(LIBS) -@MAINT@bin-dist: dvipdfm-static ebb-static dvipdfm ebb VERSION -@MAINT@ /bin/rm -rf dvipdfm-bin -@MAINT@ mkdir -p dvipdfm-bin -@MAINT@ cp -a dvipdfm ebb INSTALL-BINARY COPYING README t1fonts.map dvipdfm-bin -@MAINT@ strip dvipdfm ebb dvipdfm-static ebb-static -@MAINT@ tar -zcf ../dvipdfm-binary-linux-i386-glibc-@VERSION@.tar.gz dvipdfm-bin -@MAINT@ /bin/rm -rf dvipdfm-bin -@MAINT@ mkdir -p dvipdfm-bin -@MAINT@ cp -a INSTALL-BINARY COPYING README t1fonts.map dvipdfm-bin -@MAINT@ cp -a dvipdfm-static dvipdfm-bin/dvipdfm -@MAINT@ cp -a ebb-static dvipdfm-bin/ebb -@MAINT@ tar -zcf ../dvipdfm-binary-linux-i386-static-@VERSION@.tar.gz dvipdfm-bin -@MAINT@ /bin/rm -rf dvipdfm-bin -@MAINT@rpm-dist: tarball -@MAINT@ mkdir -p ${TOPDIR}/SOURCES ${TOPDIR}/BUILD ${TOPDIR}/SPECS ${TOPDIR}/RPMS/i386 ${TOPDIR}/SRPMS -@MAINT@ sed -e s/VERSION/@VERSION@/ dvipdfm.spec.in > ${TOPDIR}/SPECS/dvipdfm-@VERSION@.spec -@MAINT@ cp -a ../dvipdfm-@VERSION@.tar.gz ${TOPDIR}/SOURCES/ -@MAINT@ rpm -ba ${TOPDIR}/SPECS/dvipdfm-@VERSION@.spec -@MAINT@web-dist: rpm-dist tarball doc/dvipdfm.pdf -@MAINT@ rm /home/httpd/html/dvipdfm/dvipdfm.tar.gz - -@MAINT@ cp -a ../dvipdfm-@VERSION@.tar.gz ${TOPDIR}/RPMS/i386/dvipdfm-@VERSION@-1.i386.rpm ${TOPDIR}/SRPMS/dvipdfm-@VERSION@-1.src.rpm /home/httpd/html/dvipdfm/ -@MAINT@ ln -s dvipdfm-@VERSION@.tar.gz /home/httpd/html/dvipdfm/dvipdfm.tar.gz -@MAINT@ cp -a doc/dvipdfm.pdf /home/httpd/html/dvipdfm/dvipdfm-@VERSION@.pdf -@MAINT@ rm -f /home/httpd/html/dvipdfm/dvipdfm.pdf -@MAINT@ ln -s dvipdfm-@VERSION@.pdf /home/httpd/html/dvipdfm/dvipdfm.pdf -@MAINT@ rm -f /home/httpd/html/dvipdfm/dvipdfm-latest.i386.rpm -@MAINT@ ln -s dvipdfm-@VERSION@-1.i386.rpm /home/httpd/html/dvipdfm/dvipdfm-latest.i386.rpm -@MAINT@ rm -f /home/httpd/html/dvipdfm/dvipdfm-latest.src.rpm -@MAINT@ ln -s dvipdfm-@VERSION@-1.src.rpm /home/httpd/html/dvipdfm/dvipdfm-latest.src.rpm -@MAINT@ftp-dist: rpm-dist tarball doc/dvipdfm.pdf -@MAINT@ ssh mwicks@ftp 'rm pub/outgoing/mwicks/dvipdfm/*.tar.gz pub/outgoing/mwicks/dvipdfm/*.pdf ; cd pub/outgoing/mwicks/dvipdfm/; ln -s dvipdfm-@VERSION@.tar.gz dvipdfm.tar.gz' -@MAINT@ scp ../dvipdfm-@VERSION@.tar.gz mwicks@ftp:pub/outgoing/mwicks/dvipdfm/dvipdfm-@VERSION@.tar.gz -@MAINT@ scp doc/dvipdfm.pdf mwicks@ftp:pub/outgoing/mwicks/dvipdfm/dvipdfm-@VERSION@.pdf -@MAINT@ ssh mwicks@ftp 'ln -s dvipdfm-@VERSION@.pdf pub/outgoing/mwicks/dvipdfm/dvipdfm.pdf' - diff --git a/Build/source/texk/dvipdfm/Makefile.in.orig b/Build/source/texk/dvipdfm/Makefile.in.orig deleted file mode 100644 index a75ca83d585..00000000000 --- a/Build/source/texk/dvipdfm/Makefile.in.orig +++ /dev/null @@ -1,81 +0,0 @@ -# @configure_input@ - -kpse_include ../make/paths.mk -kpse_include ../make/common.mk -kpse_include ../make/programs.mk - -ZLIBDIR=../../libs/zlib -ZLIBSRCDIR=$(srcdir)/$(ZLIBDIR) -ZLIBDEP = @ZLIBDEP@ -LDZLIB = @LDZLIB@ - -LIBPNGDIR=../../libs/libpng -LIBPNGSRCDIR=$(srcdir)/$(LIBPNGDIR) -LIBPNGDEP = @LIBPNGDEP@ -LDLIBPNG = @LDLIBPNG@ - -LD_ALL_LIBS = $(LDLIBPNG) $(LDZLIB) -ALL_LIBS_DEP = $(ZLIBDEP) $(LIBPNGDEP) - -program = dvipdfm -programs = $(program) ebb -default all: $(programs) - -prog_cflags = @LIBPNGCPPFLAGS@ @ZLIBCPPFLAGS@ - -objects=pdfdev.o pdfdoc.o dvi.o mfileio.o mem.o jpeg.o numbers.o pdfobj.o \ - pdfparse.o pdfspecial.o tfm.o type1.o dvipdfm.o epdf.o vf.o \ - t1crypt.o pkfont.o tpic.o thumbnail.o pngimage.o htex.o \ - mpost.o psimage.o psspecial.o colorsp.o encodings.o @TTF_OPT@ ttf.o -eobjects=ebb.o jpeg.o pdfobj.o mem.o mfileio.o numbers.o pdfparse.o \ - pngimage.o - -$(program): $(objects) $(kpathsea) $(ALL_LIBS_DEP) - $(kpathsea_link) $(objects) $(LD_ALL_LIBS) $(LOADLIBES) - -ebb: $(eobjects) $(kpathsea) $(ALL_LIBS_DEP) - $(kpathsea_link) $(eobjects) $(LD_ALL_LIBS) $(LOADLIBES) - -$(LIBPNGDIR)/libpng.a: - cd $(LIBPNGDIR); $(MAKE) - -$(ZLIBDIR)/libz.a: - cd $(ZLIBDIR); $(MAKE) - -kpse_include ../make/tkpathsea.mk - -install: install-exec install-data -uninstall: uninstall-exec uninstall-data - -distclean:: - $(RM) config.h - -install-exec: - $(SHELL) $(top_srcdir)/../mkinstalldirs $(bindir) - $(INSTALL_LIBTOOL_PROG) $(program) $(bindir) -# don't install ebb; we use the compatible version in dvipdfmx. -# but i guess we may as well keep building it for now. --karl, 23may08. -# $(INSTALL_LIBTOOL_PROG) ebb $(bindir) - $(INSTALL_SCRIPT) $(srcdir)/dvipdft $(bindir) - -uninstall-exec: - cd $(bindir); rm -f $(programs) - -install-data: - $(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir) - $(INSTALL_DATA) $(srcdir)/$(program).1 $(man1dir)/$(program).$(manext) - $(INSTALL_DATA) $(srcdir)/dvipdft.1 $(man1dir)/dvipdft.$(manext) - $(INSTALL_DATA) $(srcdir)/ebb.1 $(man1dir)/ebb.$(manext) - -uninstall-data: - rm -f $(man1dir)/dvilj.$(manext) - rm -f $(man1dir)/dvipdft.$(manext) - rm -f $(man1dir)/ebb.$(manext) - -kpse_include ../make/config.mk - -info dvi check: - -kpse_include ../make/clean.mk -kpse_include ../make/rdepend.mk -kpse_include depend.mk diff --git a/Build/source/texk/dvipdfm/NEWS b/Build/source/texk/dvipdfm/NEWS deleted file mode 100644 index 6e9016e713f..00000000000 --- a/Build/source/texk/dvipdfm/NEWS +++ /dev/null @@ -1,126 +0,0 @@ -October 19, 2000 - Version 0.13.2 - - This release adds preliminary support for TrueType fonts. - - Also this release fixes two problems in the makefile that have been -causing some people difficulties getting dvipdfm to compile. One of these -problems was the test for compress2() (which was incorrect). The second -problem occurs because some make implementations don't honor CPPFLAGS. An -explicit rule has been added to do so. - - -July 25, 2000 - Version 0.13 - - This release adds support for 16 bit character sets via Omega's OFM -files. The DVI and VF code was made 16 bit clean. I am anxious -to hear from Omega users. - - The release also changes the way encodings are written to the PDF file. -The prior method was causing compatibility problems with certain software -that tried to merge PDF files. - - Much of the Type1 font code has been rewritten for this release. The -rewritten code allows multiple encodings to be used with the same Type 1 -font in the same document so that *all* glyphs (even >256) are available -from a Type 1 font. Font subsetting has been improved. In particular, the -internal encoding is completely removed if it's not needed. - -July 8, 2000 - Version 0.12.8 - - The primary change in this release involves fixing file inclusion -so that it works with the older TeXfig style specials used by the -psfig macros. Other changes include fixing several bugs in metapost -file inclusion, bugs in the parsing of colormaps of PDF files to be -embedded, and a bug that could cause characters to disappear under -certain conditions. Work on a problem that affects use of XYPIC -is in progress. - - WARNING: THE LATEX SUPPORT FILE NAMED DVIPDFM.DEF HAS CHANGED IN VERSION - 0.12 TO BE MORE COMPATIBLE WITH DVIPS AND OTHER DVI DRIVERS. IT - CANNOT BE USED WITH EARLIER VERSIONS OF DVIDFPM. HOWEVER, - EARLIER VERSIONS OF DVIPDFM.DEF CAN BE USED WITH VERSION 0.12. - -September 6, 1999 - Version 0.12 - - Added native support for including MetaPost output. Along with this - comes the ability to interpret simple PostScript operators natively. - This allows dvipdfm to process DVI files intended for dvips as long as - they don't do anything too fancy. The internal mini-PostScript - interpreter is good enough to process the "rotate" commands produced by - the standard dvips graphics driver. - - Added support for PostScript files using a helper application such as - GhostScript. PostScript files may be included with either the "PSfile" - special or the "plotfile" special. - - Added support for the "standard" color specials. Together with the above - list, dvipdfm can now process many DVI files targets for dvips (as long - as they use very simple PostScript commands). PostScript code such as - that produced by PSTricks is not supported. - - Added a configuration file for specifying default command line options. - -August 21, 1999. - - WARNING: VERSION 0.11 CHANGES THE FORMAT OF THE t1fonts.map FILE. - - The font code has been reworked in several ways. Version 0.11 does not -require AFM files. This is a significant improvement since AFM files are -disappearing from major distributions and repositories. Unfortunately, this -required a change in the format of the t1fonts.map file. - - A bit of the font code has been rewritten to provide work-alikes for the -"slantfont" and "extendfont" provided by dvips. There are several -workarounds for various bugs in Acrobat Reader involving searching for and -selecting ligatures and there's also an attempt to address the disappearing -Gamma problem. - - Version 0.11 also adds PNG and thumbnail support. - - Version 0.11 add support for the HyperTeX (HTML) specials for improved -DVI file portability. - -April 8, 1999. - - Version 0.10.5 changes the rule code to use a PDF stroke instead -of filling a rectangular box. It also omits some unecessary -font information from the PDF file for the base 14 PS fonts. -This is to produce for slightly smaller PDF files when using -these fonts. - -March 30, 1999. - - NOTE: VERSION 0.10.4 CHANGES THE NAME/LOCATION OF ITS CONFIGURATION FILES! - - It also fixes a bug that caused nested virtual fonts to fail and fixes a couple of other - fairly insignificant bugs. - - Version 0.10.0 introduced PK fonts support and support - for TPIC special commands to allow some native graphics - support (don't you hate distilling those .eps files). - -December 30, 1998. - Version 0.9.0 supports partial font embedding and Flate compression. The - page tree and destination tree are shipped out as balanced trees. - -December 14, 1998. - Version 0.8.3 fixes a memory leak in the vf code found by Akiro Kakuto. - Another change hopefully makes running ./configure a bit easier. - - Version 0.8.1 and 0.8.2 fix an overflow in the kerning code - which occurs for large horizontal motions. - - Version 0.8 supports virtual fonts. Much of the code has been - reorganized and rewritten. It is nearly an order of magnitude faster than - earlier versions. Version 0.8 no longer requires the kpath source - tree. Instead it uses an installed version of libkpathsea and its - headers. - -Nov. 28, 1998 - Specifying font encoding now supported. There is a font map file for - the more common PostScript fonts. - -Nov. 26, 1998 - - LaTeX Graphics and hyperref support is now available. See the directory - latex-support for information and drivers. diff --git a/Build/source/texk/dvipdfm/OBTAINING b/Build/source/texk/dvipdfm/OBTAINING deleted file mode 100644 index 6df772fa6fe..00000000000 --- a/Build/source/texk/dvipdfm/OBTAINING +++ /dev/null @@ -1,10 +0,0 @@ - -This distribution may be obtained from links at - -http://odo.kettering.edu/dvipdfm - -or - -ftp://ftp.kettering.edu/pub/outgoing/mwicks/dvipdfm - - diff --git a/Build/source/texk/dvipdfm/README b/Build/source/texk/dvipdfm/README deleted file mode 100644 index 7ee29041a79..00000000000 --- a/Build/source/texk/dvipdfm/README +++ /dev/null @@ -1,67 +0,0 @@ - This is dvipdfm, a DVI to PDF translator. I wrote this mainly as -exercise to get at the features of PDF I wanted to experiment with. You're -probably wondering why I don't use PDFTeX. I am a bit of a purist and I -would rather use TeX unmodified as Donald Knuth left it. -You can get it or the manual from - - http://odo.kettering.edu/dvipdfm - -or if you prefer FTP: - - ftp://ftp.kettering.edu/pub/outgoing/mwicks/dvipdfm - - - Features: - - TeX \special's that approximate the functionality - of the PostScript pdfmarks used by Adobe's - Acrobat Distiller. Links, outlines, articles, and named - destinations are supported, for example. - - - Ability to include PDF, JPEG, PNG, MetaPost, and self-contained - (e.g., eps) PostScript (with help from an external program) files as - embedded images. For PDF files, only the first page is included. - Resources will be embedded from the original file as necessary. - File inclusion does not work for PDF files that store the page - contents in several segments in an array. - - - Support for several \special standards for - DVI file portability. - - - Support for thumbnails (with a little help from GhostScript). - - - Re-encoding support for PostScript fonts. dvipdfm - uses the same .enc files as dvips. The mapfile is different. - - - Virtual font support. - - - Support for arbitrary linear graphics transformations. - Any material on the page can be scaled and rotated. - - - An internal color stack accessible via \special's. - - - Beginning of page (BOP) and end of page (EOP) - \special's for placing arbitrary PDF stream - graphics on every page. - - - Partial font embedding and Flate compression - for reduced file size. - - - Balanced page tree and dest tree to improve reader - speed on very large documents. - - Limitations (at present): - - - Contents streams consisting of multiple parts cannot be embedded. - - All instances of the same Type1 font must have the same encoding. - - Additional Information: - - There is a dvipdfm e-mail list. To join, send -e-mail to majordomo@gaspra.kettering.edu containing -the line: - - subscribe dvipdfm - - Mark A. Wicks - Kettering University - mwicks@kettering.edu diff --git a/Build/source/texk/dvipdfm/README.FIRST b/Build/source/texk/dvipdfm/README.FIRST deleted file mode 100644 index f1f420e29b3..00000000000 --- a/Build/source/texk/dvipdfm/README.FIRST +++ /dev/null @@ -1,14 +0,0 @@ - - Read the NEWS file. There are important notes about compatibility with -earlier versions. - - Also read the INSTALLATION file. Some things have changed since -earlier releases. - - The install scripts do not overwrite the file named dvipdfm.def in your -LaTeX tree (I don't think it's polite to clobber files installed by other -distributions). You will probably want the new functionality provided by -dvipdfm.def, and you must install this file manually. - - The install scripts also do not run mktexlsr or its equivalent. If you -are installing dvipdfm for the first time, you should rehash your TeX tree. diff --git a/Build/source/texk/dvipdfm/TODO b/Build/source/texk/dvipdfm/TODO deleted file mode 100644 index e283fb2908e..00000000000 --- a/Build/source/texk/dvipdfm/TODO +++ /dev/null @@ -1,19 +0,0 @@ - I am pretty bad about this file up to date :-( - -Aug 19, 1999. - - - Add MetaPost support - - Add TrueType font support - -Mar 31, 1999. - -My major to-do list items are - - - Add TrueType font support - - Move away from requiring the use of .afm files (they are disappearing -from CTAN :-(. - -Nov 26, 1998. - - Need to work on making this fit into the typical -TeX source tree structure. diff --git a/Build/source/texk/dvipdfm/ac/withenable.ac b/Build/source/texk/dvipdfm/ac/withenable.ac deleted file mode 100644 index 789042b226d..00000000000 --- a/Build/source/texk/dvipdfm/ac/withenable.ac +++ /dev/null @@ -1,7 +0,0 @@ -## texk/dvipdfm/ac/withenable.ac: configure.ac fragment for the TeX Live subdirectory texk/dvipdfm/ -dnl -dnl Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> -dnl You may freely use, modify and/or distribute this file. -dnl -## configure options and TL libraries required for dvipdfm -KPSE_ENABLE_PROG([dvipdfm], [kpathsea libpng]) diff --git a/Build/source/texk/dvipdfm/acconfig.h.dist b/Build/source/texk/dvipdfm/acconfig.h.dist deleted file mode 100644 index ee49123b348..00000000000 --- a/Build/source/texk/dvipdfm/acconfig.h.dist +++ /dev/null @@ -1,37 +0,0 @@ -#define VERSION 0 - -#define PACKAGE "package" - -/* define if you have kpathsea */ -#undef HAVE_KPATHSEA - -/* define if your zlib has the compress2 function */ -#undef HAVE_ZLIB_COMPRESS2 - -/* define if you have zlib and its headers */ -#undef HAVE_ZLIB - -/* define if you have xbasename() in your libkpathsea instead of basename() */ -#undef HAVE_XBASENAME - -/* define if kpathsea understands TrueType (TTF) formats */ -#undef HAVE_TTF_FORMATS - -/* define if struct tm has tm_gmtoff as a member */ -#undef HAVE_TM_GMTOFF - -/* define if <time.h> has timezone as an external variable */ -#undef HAVE_TIMEZONE - -/* define if kpathsea supports type1 and vf formats */ -#undef HAVE_KPSE_FORMATS - -/* define if you have libpng */ -#undef HAVE_LIBPNG - -/* Define if kpathsea understands Omega (OFM/OVF) formats */ -#undef HAVE_OMEGA_FORMATS - - - - diff --git a/Build/source/texk/dvipdfm/acconfig.h.in b/Build/source/texk/dvipdfm/acconfig.h.in deleted file mode 100644 index e81beaf36c9..00000000000 --- a/Build/source/texk/dvipdfm/acconfig.h.in +++ /dev/null @@ -1,45 +0,0 @@ - -/* Local variables defined by MAW */ -#ifndef _CONFIG_H - -#define VERSION 0 - -#define PACKAGE "package" - -/* HAVE_TIMEZONE - Define if <time.h> has timezone as an external variable */ -#undef HAVE_TIMEZONE - -/* HAVE_TM_GMTOFF - Define if struct tm has tm_gmtoff as a member */ -#undef HAVE_TM_GMTOFF - -/* HAVE_KPATHSEA - Define if you have kpathsea */ -#define HAVE_KPATHSEA - -/* HAVE_XBASENAME - Define if you have xbasename() in your libkpathsea instead of basename() */ -#undef HAVE_XBASENAME - -/* HAVE_ZLIB - Define if you have zlib and its headers */ -#undef HAVE_ZLIB -/* HAVE_ZLIB_COMPRESS2 - Define if your zlib has the compress2 function */ -#undef HAVE_ZLIB_COMPRESS2 - -/* HAVE_KPSE_FORMATS - Define if you have a - version of kpathsea with type1 and vf formats */ -#define HAVE_KPSE_FORMATS - -/* HAVE_OMEGA_FORMATS - Define if you have a - version of kpathsea that understands Omega (OFM/OVF) formats */ -#define HAVE_OMEGA_FORMATS - -/* HAVE_TTF_FORMATS - Define if you have a - version of kpathsea that understands TrueType (TTF) formats */ -#define HAVE_TTF_FORMATS - -/* HAVE_LIBPNG - Define if you have libpng */ -#undef HAVE_LIBPNG - -/* HAVE_SYSTEM - Define if you have the system() command */ -#undef HAVE_SYSTEM - - -#endif /* _CONFIG_H */ diff --git a/Build/source/texk/dvipdfm/acinclude.m4.orig b/Build/source/texk/dvipdfm/acinclude.m4.orig deleted file mode 100644 index 879c18301f2..00000000000 --- a/Build/source/texk/dvipdfm/acinclude.m4.orig +++ /dev/null @@ -1,105 +0,0 @@ -# -# Local tests written by MAW -# -AC_DEFUN([AC_EXT_TIMEZONE], -[AC_MSG_CHECKING([whether time.h defines timezone as an external variable]) -AC_TRY_LINK([#include <time.h>], [ -timezone; ], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_TIMEZONE], 1, [define if <time.h> has timezone as an external variable])], - [AC_MSG_RESULT(no)])]) -AC_DEFUN([AC_HAVE_BASENAME], - [AC_MSG_CHECKING([whether basename is in either libgen.h or string.h]) - AC_TRY_COMPILE([#include <libgen.h> -#include <string.h>], [extern char basename(void)], - [AC_MSG_RESULT(no)], [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_BASENAME)])]) -AC_DEFUN([AC_TZ_HAS_TM_GMTOFF], -[AC_MSG_CHECKING([whether struct tz has tm_gmtoff as a member]) -AC_TRY_COMPILE([#include <time.h>], [struct tm *tp; tp->tm_gmtoff], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_TM_GMTOFF], 1, [define if struct tm has tm_gmtoff as a member])], - [AC_MSG_RESULT(no)])]) -# -AC_DEFUN([AC_HAS_KPSE_FORMATS], - [AC_MSG_CHECKING([whether you have kpathsea headers and they whether they know about the required file formats]) - AC_TRY_COMPILE([#include <stdio.h> -#include <kpathsea/tex-file.h>], - [kpse_tex_ps_header_format; - kpse_type1_format;kpse_vf_format], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_KPSE_FORMATS], 1, [define if kpathsea supports type1 and vf formats])], - [AC_MSG_RESULT(no); -AC_MSG_ERROR([PS_HEADER and/or VF formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be installed. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file "tex-file.h" - -])])]) -# -AC_DEFUN([AC_HAS_OMEGA_FORMATS], - [AC_MSG_CHECKING([whether your kpathsea supports Omega OFM file formats]) - AC_TRY_COMPILE([#include <stdio.h> -#include <kpathsea/tex-file.h>], - [kpse_ofm_format], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_OMEGA_FORMATS], 1, [Define if kpathsea understands Omega (OFM/OVF) formats])], - [AC_MSG_RESULT(no)])]) -AC_DEFUN([AC_HAS_TTF_FORMATS], - [AC_MSG_CHECKING([whether your kpathsea supports Truetype (TTF) file formats]) - AC_TRY_COMPILE([#include <stdio.h> -#include <kpathsea/tex-file.h>], - [kpse_truetype_format], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_TTF_FORMATS], 1 ,[define if kpathsea understands TrueType (TTF) formats]) - TTF_OPT=''], - [AC_MSG_RESULT(no)])]) -# -# Check for zlib -# -AC_DEFUN([AC_HAS_ZLIB], -[_cppflags=$CPPFLAGS - _ldflags=$LDFLAGS -AC_ARG_WITH(zlib, -[ --with-zlib=DIR use zlib include/library files from DIR],[ - if test -d "$withval"; then - CPPFLAGS="$CPPFLAGS -I$withval/include" - LDFLAGS="$LDFLAGS -L$withval/lib" - fi -]) -AC_MSG_CHECKING([for zlib header files]) -AC_TRY_COMPILE([#include <zlib.h>], [z_stream p;], -[AC_MSG_RESULT(yes) - AC_CHECK_LIB(z, compress, -[AC_DEFINE([HAVE_ZLIB], 1, [define if you have zlib and its headers]) - LIBS="$LIBS -lz" - AC_CHECK_LIB(z, compress2, -[AC_DEFINE([HAVE_ZLIB_COMPRESS2], 1, [define if your zlib has the compress2 function])])])], -[CPPFLAGS=$_cppflags - LDDFLAGS=$_ldflags - AC_MSG_RESULT(no)])]) -# -# Check for libpng -# -AC_DEFUN([AC_HAS_LIBPNG], -[_cppflags=$CPPFLAGS -_ldflags=$LDFLAGS -AC_ARG_WITH(png, -[ --with-png=DIR use png include/library files from DIR],[ - if test -d "$withval"; then - CPPFLAGS="$CPPFLAGS -I$withval/include" - LDFLAGS="$LDFLAGS -L$withval/lib" - fi -]) -AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow, LIBS="$LIBS -lm")) -AC_MSG_CHECKING([for png header files]) -AC_TRY_COMPILE([#include <png.h>], [png_infop p;], [ - AC_MSG_RESULT(yes) - AC_CHECK_LIB(png, png_get_image_width, [ - AC_DEFINE([HAVE_LIBPNG], 1, [define if you have libpng]) - LIBS="$LIBS -lpng"], , -lz)], [ - AC_MSG_RESULT(no)])]) -# -# End of local tests -# diff --git a/Build/source/texk/dvipdfm/aclocal.m4 b/Build/source/texk/dvipdfm/aclocal.m4 deleted file mode 100644 index 096f230b0b4..00000000000 --- a/Build/source/texk/dvipdfm/aclocal.m4 +++ /dev/null @@ -1,1002 +0,0 @@ -# generated automatically by aclocal 1.11 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 10 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless `enable' is passed literally. -# For symmetry, `disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], -[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar <conftest.tar]) - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([../../m4/cho-libs.m4]) -m4_include([../../m4/kpse-common.m4]) -m4_include([../../m4/kpse-kpathsea-flags.m4]) -m4_include([../../m4/kpse-libpng-flags.m4]) -m4_include([../../m4/kpse-zlib-flags.m4]) -m4_include([../../m4/libtool.m4]) -m4_include([../../m4/ltoptions.m4]) -m4_include([../../m4/ltsugar.m4]) -m4_include([../../m4/ltversion.m4]) -m4_include([../../m4/lt~obsolete.m4]) -m4_include([../../m4/maw-time.m4]) diff --git a/Build/source/texk/dvipdfm/ascii85.c b/Build/source/texk/dvipdfm/ascii85.c deleted file mode 100644 index fd1b8efc0c4..00000000000 --- a/Build/source/texk/dvipdfm/ascii85.c +++ /dev/null @@ -1,90 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include <ctype.h> - -static int nextch(void) -{ - int ch; - while ((ch = getchar()) >= 0) { - if (ch >= '!' && ch <= 'u' || ch == 'z') - return ch; - if (ch == '~' && getchar() == '>') { - return -1; - } - } - if (ch < 0) { - fprintf (stderr, "Premature end of file.\n"); - exit(1); - } -} - -unsigned long int ascii85; -unsigned binary[4]; - -static decode_block(void) -{ - int i; - for (i=3; i>=0; i--){ - binary[i] = ascii85 % 256u; - ascii85 /= 256u; - } -} - -static output_block (int n) -{ - int i; - for (i=0; i<n; i++) { - putchar (binary[i]); - } -} - -main (int argc, char *argv[]) -{ - int i, ch, eof = 0, nread; - while (!eof) { - ascii85 = 0; - nread = 0; - /* Look ahead for special zero key */ - if ((ch = nextch()) == 'z') { - nread = 4; /* Lie to it */ - } else{ - ungetc (ch, stdin); - for (i=0; i<5; i++) { - if ((ch=nextch()) < 0) { - eof = 1; - break; - } - ascii85 = ascii85 * 85 + (ch-'!'); - nread += 1; - } - } - if (nread > 1) { - decode_block(); - output_block(nread-1); - } - } -} diff --git a/Build/source/texk/dvipdfm/cmr.map b/Build/source/texk/dvipdfm/cmr.map deleted file mode 100644 index 12a78acb577..00000000000 --- a/Build/source/texk/dvipdfm/cmr.map +++ /dev/null @@ -1,142 +0,0 @@ -% original cmr.map -- Constructed by M. Wicks, 9/28/99 -% -% Format is as follows: -% TeX-name encoding AFM-name PFB-name -% The default behavior is to use the font's built-in -% encoding, to use the TeX-name as the AFM-name, and -% to use the AFM-name as the PFB-name. -% The word "default" may be used in any field to -% specify the default behavior. You can -% also say "none", in the PFB field, for example -% to say that no PFB should be loaded -% -% The following entries are used to force an encoding to work around several -% bugs in Acrobat reader. The ot1 encoding is used to supply an encoding -% external to that the the type 1 font definition. The seems to be necessary -% to be able to search ligatures, for example. The "-r" option -% is used to remap the character positions that Adobe normally does -% not use to higher positions. This seems to fix a variety of problems -% -cmr10 ot1r -r -cmr12 ot1r -r -cmr17 ot1r -r -cmr6 ot1r -r -cmr7 ot1r -r -cmr8 ot1r -r -cmr9 ot1r -r -% cmr5 is encoded somewhat differently -cmr5 -r -% Bold -cmbx10 ot1r -r -cmbx12 ot1r -r -cmbx6 ot1r -r -cmbx7 ot1r -r -cmbx8 ot1r -r -cmbx9 ot1r -r -% Symbol fonts are remapped, but not reencoded -cmex10 -r -cmbsy10 -r -cmsy10 -r -cmsy9 -r -cmsy8 -r -cmsy7 -r -cmsy6 -r -cmsy5 -r -lasy10 -r -lasy9 -r -lasy8 -r -lasy7 -r -lasy6 -r -lasy5 -r -cmbsy7 -r -cmbsy5 -r -euex10 -r -eufm10 -r -eufm7 -r -eufm5 -r -eufb10 -r -eufb7 -r -eufb5 -r -eurb10 -r -eurm10 -r -eurb7 -r -eurm7 -r -eurb5 -r -eurm5 -r -msam10 -r -xycmat10 -r -xycmbt10 -r -xydash10 -r -xycirc10 -r -xyatip10 -r -xybtip10 -r -% Likewise for math italic -cmmi12 -r -cmmi10 -r -cmmib10 -r -cmmi9 -r -cmmi8 -r -cmmi7 -r -cmmi6 -r -cmmi5 -r -% Misc -cmb10 ot1r -r -cmbxsl10 ot1r -r -cmbxti10 ot1alt -r -cmdunh10 ot1r -r -cmff10 ot1alt -r -cmfi10 ot1alt -r -cmfib8 ot1alt -r -cmssbx10 ot1r -r -cmssdc10 ot1r -r -cmssq8 ot1r -r -cmssqi8 ot1r -r -cmu10 ot1alt -r -cmvtt10 ot1r -r -lcmss8 ot1r -r -lcmssb8 ot1r -r -lcmssi8 ot1r -r -% tt fonts -cmtt10 -r -cmtt12 -r -cmtt8 -r -cmtt9 -r -% Italic -cmti10 ot1alt -r -cmti12 ot1alt -r -cmti7 ot1alt -r -cmti8 ot1alt -r -cmti9 ot1alt -r -% Slanted -cmsl10 ot1r -r -cmsl12 ot1r -r -cmsl8 ot1r -r -cmsl9 ot1r -r -% Roman sans serif -cmss10 ot1r -r -cmss12 ot1r -r -cmss17 ot1r -r -cmss8 ot1r -r -cmss9 ot1r -r -% Sans Serif -cmssi10 ot1r -r -cmssi12 ot1r -r -cmssi17 ot1r -r -cmssi8 ot1r -r -cmssi9 ot1r -r -% -% LaTeX Fonts here too. They don't -% seem to fit anywhere else. -% -lcirclew10 default lcirclew -r -lcircle10 default lcircle1 -r -line10 -r - -% -% Required by psnfss2e -% -eurmo10 default eurm10 -s 0.167 -r -eurbo10 default eurb10 -s 0.167 -r -rsfs5 default rsfs5 -rsfs7 default rsfs7 -rsfs10 default rsfs10% diff --git a/Build/source/texk/dvipdfm/colors.h b/Build/source/texk/dvipdfm/colors.h deleted file mode 100644 index 536a7dfe53d..00000000000 --- a/Build/source/texk/dvipdfm/colors.h +++ /dev/null @@ -1,73 +0,0 @@ -struct color_by_name { - char *name; - struct color color; -} colors_by_name[] = { - {"GreenYellow", {CMYK, 0.15, 0, 0.69, 0}}, - {"Yellow", {CMYK, 0, 0, 1, 0}}, - {"Goldenrod", {CMYK, 0, 0.10, 0.84, 0}}, - {"Dandelion", {CMYK, 0, 0.29, 0.84, 0}}, - {"Apricot", {CMYK, 0, 0.32, 0.52, 0}}, - {"Peach", {CMYK, 0, 0.50, 0.70, 0}}, - {"Melon", {CMYK, 0, 0.46, 0.50, 0}}, - {"YellowOrange", {CMYK, 0, 0.42, 1, 0}}, - {"Orange", {CMYK, 0, 0.61, 0.87, 0}}, - {"BurntOrange", {CMYK, 0, 0.51, 1, 0}}, - {"Bittersweet", {CMYK, 0, 0.75, 1, 0.24}}, - {"RedOrange", {CMYK, 0, 0.77, 0.87, 0}}, - {"Mahogany", {CMYK, 0, 0.85, 0.87, 0.35}}, - {"Maroon", {CMYK, 0, 0.87, 0.68, 0.32}}, - {"BrickRed", {CMYK, 0, 0.89, 0.94, 0.28}}, - {"Red", {CMYK, 0, 1, 1, 0}}, - {"OrangeRed", {CMYK, 0, 1, 0.50, 0}}, - {"RubineRed", {CMYK, 0, 1, 0.13, 0}}, - {"WildStrawberry", {CMYK, 0, 0.96, 0.39, 0}}, - {"Salmon", {CMYK, 0, 0.53, 0.38, 0}}, - {"CarnationPink", {CMYK, 0, 0.63, 0, 0}}, - {"Magenta", {CMYK, 0, 1, 0, 0}}, - {"VioletRed", {CMYK, 0, 0.81, 0, 0}}, - {"Rhodamine", {CMYK, 0, 0.82, 0, 0}}, - {"Mulberry", {CMYK, 0.34, 0.90, 0, 0.02}}, - {"RedViolet", {CMYK, 0.07, 0.90, 0, 0.34}}, - {"Fuchsia", {CMYK, 0.47, 0.91, 0, 0.08}}, - {"Lavender", {CMYK, 0, 0.48, 0, 0}}, - {"Thistle", {CMYK, 0.12, 0.59, 0, 0}}, - {"Orchid", {CMYK, 0.32, 0.64, 0, 0}}, - {"DarkOrchid", {CMYK, 0.40, 0.80, 0.20, 0}}, - {"Purple", {CMYK, 0.45, 0.86, 0, 0}}, - {"Plum", {CMYK, 0.50, 1, 0, 0}}, - {"Violet", {CMYK, 0.79, 0.88, 0, 0}}, - {"RoyalPurple", {CMYK, 0.75, 0.90, 0, 0}}, - {"BlueViolet", {CMYK, 0.86, 0.91, 0, 0.04}}, - {"Periwinkle", {CMYK, 0.57, 0.55, 0, 0}}, - {"CadetBlue", {CMYK, 0.62, 0.57, 0.23, 0}}, - {"CornflowerBlue", {CMYK, 0.65, 0.13, 0, 0}}, - {"MidnightBlue", {CMYK, 0.98, 0.13, 0, 0.43}}, - {"NavyBlue", {CMYK, 0.94, 0.54, 0, 0}}, - {"RoyalBlue", {CMYK, 1, 0.50, 0, 0}}, - {"Blue", {CMYK, 1, 1, 0, 0}}, - {"Cerulean", {CMYK, 0.94, 0.11, 0, 0}}, - {"Cyan", {CMYK, 1, 0, 0, 0}}, - {"ProcessBlue", {CMYK, 0.96, 0, 0, 0}}, - {"SkyBlue", {CMYK, 0.62, 0, 0.12, 0}}, - {"Turquoise", {CMYK, 0.85, 0, 0.20, 0}}, - {"TealBlue", {CMYK, 0.86, 0, 0.34, 0.02}}, - {"Aquamarine", {CMYK, 0.82, 0, 0.30, 0}}, - {"BlueGreen", {CMYK, 0.85, 0, 0.33, 0}}, - {"Emerald", {CMYK, 1, 0, 0.50, 0}}, - {"JungleGreen", {CMYK, 0.99, 0, 0.52, 0}}, - {"SeaGreen", {CMYK, 0.69, 0, 0.50, 0}}, - {"Green", {CMYK, 1, 0, 1, 0}}, - {"ForestGreen", {CMYK, 0.91, 0, 0.88, 0.12}}, - {"PineGreen", {CMYK, 0.92, 0, 0.59, 0.25}}, - {"LimeGreen", {CMYK, 0.50, 0, 1, 0}}, - {"YellowGreen", {CMYK, 0.44, 0, 0.74, 0}}, - {"SpringGreen", {CMYK, 0.26, 0, 0.76, 0}}, - {"OliveGreen", {CMYK, 0.64, 0, 0.95, 0.40}}, - {"RawSienna", {CMYK, 0, 0.72, 1, 0.45}}, - {"Sepia", {CMYK, 0, 0.83, 1, 0.70}}, - {"Brown", {CMYK, 0, 0.81, 1, 0.60}}, - {"Tan", {CMYK, 0.14, 0.42, 0.56, 0}}, - {"Gray", {CMYK, 0, 0, 0, 0.50}}, - {"Black", {CMYK, 0, 0, 0, 1}}, - {"White", {CMYK, 0, 0, 0, 0}} -}; diff --git a/Build/source/texk/dvipdfm/colorsp.c b/Build/source/texk/dvipdfm/colorsp.c deleted file mode 100644 index 0a440645edb..00000000000 --- a/Build/source/texk/dvipdfm/colorsp.c +++ /dev/null @@ -1,230 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdlib.h> -#include "system.h" -#include "mem.h" -#include "pdfdev.h" -#include "pdfparse.h" -#include "pdfspecial.h" -#include "dvipdfm.h" - -static char ignore_colors = 0; -void color_special_ignore_colors(void) -{ - ignore_colors = 1; -} - -static void do_color_special (char **start, char *end) -{ - char *command, *token; - char *c1=NULL, *c2=NULL, *c3=NULL, *c4=NULL; - skip_white (start, end); - if ((command = parse_ident (start, end))) { - if (!strcmp (command, "push")) { /* Handle a push */ - skip_white (start, end); - if ((token = parse_ident (start, end))) { - if (!strcmp (token, "rgb")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end))) { - dev_begin_rgb_color (atof(c1), atof(c2), atof(c3)); - } - } - else if (!strcmp (token, "cmyk")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end)) && - (c4=parse_number(start, end))) { - dev_begin_cmyk_color (atof(c1), atof(c2), atof(c3), atof(c4)); - } - } else if (!strcmp (token, "gray")) { /* Handle gray */ - if ((c1=parse_number(start, end))) { - dev_begin_gray (atof(c1)); - } - } else if (!strcmp (token, "hsb")) { - fprintf (stderr, "\ncolor special: hsb not implemented\n"); - } else { /* Must be a "named" color */ - dev_begin_named_color (token); - } - if (c1) RELEASE(c1); - if (c2) RELEASE(c2); - if (c3) RELEASE(c3); - if (c4) RELEASE(c4); - RELEASE (token); - } - } else if (!strcmp (command, "pop")) { /* Handle a pop */ - dev_end_color(); - } else { /* Assume this is a default color change */ - token = command; - if (!strcmp (token, "rgb")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end))) { - dev_set_def_rgb_color (atof(c1), atof(c2), atof(c3)); - } - } - else if (!strcmp (token, "cmyk")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end)) && - (c4=parse_number(start, end))) { - dev_set_def_cmyk_color (atof(c1), atof(c2), atof(c3), atof(c4)); - } - } else if (!strcmp (token, "gray")) { /* Handle gray */ - if ((c1=parse_number(start, end))) { - dev_set_def_gray (atof(c1)); - } - } else if (!strcmp (token, "hsb")) { - fprintf (stderr, "\ncolor special: hsb not implemented\n"); - } else { /* Must be a "named" color */ - dev_set_def_named_color (token); - } - if (c1) RELEASE(c1); - if (c2) RELEASE(c2); - if (c3) RELEASE(c3); - if (c4) RELEASE(c4); - } - } - RELEASE (command); -} - -static void do_background_special (char **start, char *end) -{ - char *token; - char *c1=NULL, *c2=NULL, *c3=NULL, *c4=NULL; - skip_white (start, end); - if ((token = parse_ident (start, end))) { - if (!strcmp (token, "rgb")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end))) { - dev_bg_rgb_color (atof(c1), atof(c2), atof(c3)); - } - } - else if (!strcmp (token, "cmyk")) { /* Handle rgb color */ - if ((c1=parse_number(start, end)) && - (c2=parse_number(start, end)) && - (c3=parse_number(start, end)) && - (c4=parse_number(start, end))) { - dev_bg_cmyk_color (atof(c1), atof(c2), atof(c3), atof(c4)); - } - } else if (!strcmp (token, "gray")) { /* Handle gray */ - if ((c1=parse_number(start, end))) { - dev_bg_gray (atof(c1)); - } - } else if (!strcmp (token, "hsb")) { - fprintf (stderr, "\ncolor special: hsb not implemented\n"); - } else { /* Must be a "named" color */ - dev_bg_named_color (token); - } - if (c1) RELEASE(c1); - if (c2) RELEASE(c2); - if (c3) RELEASE(c3); - if (c4) RELEASE(c4); - RELEASE (token); - } -} - -static void local_set_paper_size (char **start, char *end) -{ - char *key, *val, *val_start, *val_end, *number; - char *save = *start; - double width = 0.0, height = 0.0, unit; - parse_key_val (start, end, &key, &val); - if (key && val) { - val_start = val; - val_end = val+strlen(val); - skip_white (&val_start, val_end); - if ((number=parse_number(&val_start, val_end))) { - width = atof (number); - RELEASE (number); - if ((unit = parse_one_unit (&val_start, val_end)) > 0.0) { - width *= unit; - } else { - width = 0.0; - } - } else { - fprintf (stderr, "\nExpecting a number here\n"); - dump (val_start, end); - } - skip_white (&val_start, val_end); - if (val_start < val_end && *(val_start++) == ',') { - skip_white (&val_start, val_end); - } - if ((number=parse_number(&val_start, val_end))) { - height = atof (number); - RELEASE (number); - if ((unit = parse_one_unit (&val_start, val_end)) > 0.0) { - height *= unit; - } else { - height = 0.0; - } - } else { - fprintf (stderr, "\nExpecting a number here\n"); - dump (val_start, val_end); - } - if (key) RELEASE (key); - if (val) RELEASE (val); - } - if (width != 0.0 && height != 0.0) { - dev_set_page_size (width, height); - } else{ - fprintf (stderr, "\nError parsing papersize special\n"); - dump (save, end); - } -} - -/* Color_special() handles color specials and also - handles papersize and landscape specials since - there's no good place to put them */ - -int color_special (char *buffer, UNSIGNED_QUAD size) -{ - char *start = buffer, *end; - int result = 0; - end = buffer + size; - skip_white (&start, end); - if (!strncmp (start, "color", strlen("color"))) { - start += strlen("color"); - result = 1; /* This is a color special */ - if (!ignore_colors) - do_color_special (&start, end); - } else if (!strncmp (start, "background", strlen("background"))) { - start += strlen("background"); - result = 1; /* This is a color special */ - if (!ignore_colors) - do_background_special (&start, end); - } else if (!strncmp (start, "landscape", strlen("landscape"))) { - set_landscape_mode(); - result = 1; - } else if (!strncmp (start, "papersize", strlen("papersize"))) { - local_set_paper_size(&start, end); - result = 1; - } - return result; -} - - - diff --git a/Build/source/texk/dvipdfm/colorsp.h b/Build/source/texk/dvipdfm/colorsp.h deleted file mode 100644 index 17393783de3..00000000000 --- a/Build/source/texk/dvipdfm/colorsp.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef COLORSP_H - -#include "pdfparse.h" - -#define COLORSP_H - -int color_special (char *buffer, UNSIGNED_QUAD size); -void color_special_ignore_colors(void); -#endif - - - - - - diff --git a/Build/source/texk/dvipdfm/config b/Build/source/texk/dvipdfm/config deleted file mode 100644 index 5d471092775..00000000000 --- a/Build/source/texk/dvipdfm/config +++ /dev/null @@ -1,46 +0,0 @@ -% original config -- Made by MAW on 8/31/99 -% Distiller template examples. Uncomment -% the appropriate one, or (preferably) create your own. -% Put %i in the command line where the input file name should go. -% Put %o in the command line where the output file name should go. -% (dvipdfm must be able to supply the output file name to your -% command line) -% Put %b in the line somewhere if you want to specify the -% "base" name of the input file, e.g., "foo" instead of "foo.eps" -% -% Note that it's probably a good idea to fully qualify -% the paths so you can be sure what you are running - -% The following line works with Frank Siegert's pstill -% D "/usr/local/bin/pstill -c -o %o %i" - -% The following line works with GhostScript -% D "gs -q -sPAPERSIZE=ledger -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -sOutputFile=%o %i -c quit" -% The following line works on compressed or uncompressed postscript with GhostScript -D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -sOutputFile=%o - -c quit" - -% The following line works with Adobe Acrobat Distiller -% D "/usr/local/bin/distill -quiet -pairs %i %o" - -% Set default paper size here -p letter - -% The "g" option specifies the amount to "grow" annotations by -% Many TeX macro pages set the annotation bounding box equal -% to the TeX box that encloses the material. That's not always -% what you want -g 1 - -% PDF version stamp to use in output file and max version of files -% allowed to be included (2 for 1.2, 3 for 1.3) -V 2 -% -% Font map files -% -f cmr.map -f psbase14.map -% Most distributions now use these names -f lw35urw.map -% Some use these names -% f lw35urwa.map - diff --git a/Build/source/texk/dvipdfm/config-dist b/Build/source/texk/dvipdfm/config-dist deleted file mode 100644 index 5d471092775..00000000000 --- a/Build/source/texk/dvipdfm/config-dist +++ /dev/null @@ -1,46 +0,0 @@ -% original config -- Made by MAW on 8/31/99 -% Distiller template examples. Uncomment -% the appropriate one, or (preferably) create your own. -% Put %i in the command line where the input file name should go. -% Put %o in the command line where the output file name should go. -% (dvipdfm must be able to supply the output file name to your -% command line) -% Put %b in the line somewhere if you want to specify the -% "base" name of the input file, e.g., "foo" instead of "foo.eps" -% -% Note that it's probably a good idea to fully qualify -% the paths so you can be sure what you are running - -% The following line works with Frank Siegert's pstill -% D "/usr/local/bin/pstill -c -o %o %i" - -% The following line works with GhostScript -% D "gs -q -sPAPERSIZE=ledger -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -sOutputFile=%o %i -c quit" -% The following line works on compressed or uncompressed postscript with GhostScript -D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.2 -dUseFlateCompression=true -sOutputFile=%o - -c quit" - -% The following line works with Adobe Acrobat Distiller -% D "/usr/local/bin/distill -quiet -pairs %i %o" - -% Set default paper size here -p letter - -% The "g" option specifies the amount to "grow" annotations by -% Many TeX macro pages set the annotation bounding box equal -% to the TeX box that encloses the material. That's not always -% what you want -g 1 - -% PDF version stamp to use in output file and max version of files -% allowed to be included (2 for 1.2, 3 for 1.3) -V 2 -% -% Font map files -% -f cmr.map -f psbase14.map -% Most distributions now use these names -f lw35urw.map -% Some use these names -% f lw35urwa.map - diff --git a/Build/source/texk/dvipdfm/config.h.in b/Build/source/texk/dvipdfm/config.h.in deleted file mode 100644 index 533f84d0d15..00000000000 --- a/Build/source/texk/dvipdfm/config.h.in +++ /dev/null @@ -1,214 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if the `closedir' function returns void instead of `int'. */ -#undef CLOSEDIR_VOID - -/* Define to 1 if you have the <assert.h> header file. */ -#undef HAVE_ASSERT_H - -/* Define to 1 if you have the `bcmp' function. */ -#undef HAVE_BCMP - -/* Define to 1 if you have the `bcopy' function. */ -#undef HAVE_BCOPY - -/* Define to 1 if you have the `bzero' function. */ -#undef HAVE_BZERO - -/* Define to 1 if you have the `compress' function. */ -#undef HAVE_COMPRESS - -/* Define to 1 if you have the `compress2' function. */ -#undef HAVE_COMPRESS2 - -/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the <float.h> header file. */ -#undef HAVE_FLOAT_H - -/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ -#undef HAVE_FSEEKO - -/* Define to 1 if you have the `getcwd' function. */ -#undef HAVE_GETCWD - -/* Define to 1 if you have the `getwd' function. */ -#undef HAVE_GETWD - -/* Define to 1 if you have the `index' function. */ -#undef HAVE_INDEX - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define if you have libpng and its headers. */ -#undef HAVE_LIBPNG - -/* Define to 1 if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the `memcmp' function. */ -#undef HAVE_MEMCMP - -/* Define to 1 if you have the `memcpy' function. */ -#undef HAVE_MEMCPY - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define if kpathsea understands Omega (OFM/OVF) formats. */ -#undef HAVE_OMEGA_FORMATS - -/* Define to 1 if you have the `png_get_image_width' function. */ -#undef HAVE_PNG_GET_IMAGE_WIDTH - -/* Define to 1 if you are using GNU libc or otherwise have global variables - `program_invocation_name' and `program_invocation_short_name'. */ -#undef HAVE_PROGRAM_INVOCATION_NAME - -/* Define to 1 if your compiler understands prototypes. */ -#undef HAVE_PROTOTYPES - -/* Define to 1 if you have the `putenv' function. */ -#undef HAVE_PUTENV - -/* Define to 1 if you have the <pwd.h> header file. */ -#undef HAVE_PWD_H - -/* Define to 1 if you have the `rindex' function. */ -#undef HAVE_RINDEX - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strrchr' function. */ -#undef HAVE_STRRCHR - -/* Define to 1 if you have the `strspn' function. */ -#undef HAVE_STRSPN - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - -/* Define to 1 if `st_mtim' is member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_MTIM - -/* Define to 1 if you have the `system' function. */ -#undef HAVE_SYSTEM - -/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define if <time.h> has timezone as an external variable. */ -#undef HAVE_TIMEZONE - -/* Define if struct tm has tm_gmtoff as a member. */ -#undef HAVE_TM_GMTOFF - -/* Define if kpathsea understands TrueType (TTF) formats. */ -#undef HAVE_TTF_FORMATS - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have xbasename() in your libkpathsea instead of basename(). - */ -#undef HAVE_XBASENAME - -/* Define if you have zlib and its headers. */ -#undef HAVE_ZLIB - -/* Define if your zlib has the compress2 function. */ -#undef HAVE_ZLIB_COMPRESS2 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if your <sys/time.h> declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -#undef _LARGEFILE_SOURCE - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t diff --git a/Build/source/texk/dvipdfm/configure b/Build/source/texk/dvipdfm/configure deleted file mode 100755 index 17238f26c68..00000000000 --- a/Build/source/texk/dvipdfm/configure +++ /dev/null @@ -1,18260 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for dvipdfm 0.13.3TL. -# -# Report bugs to <tex-k@tug.org>. -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -$* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -exec 7<&0 </dev/null 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME='dvipdfm' -PACKAGE_TARNAME='dvipdfm' -PACKAGE_VERSION='0.13.3TL' -PACKAGE_STRING='dvipdfm 0.13.3TL' -PACKAGE_BUGREPORT='tex-k@tug.org' - -ac_unique_file="dvipdfm.c" -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -HAVE_TTF_FALSE -HAVE_TTF_TRUE -LIBPNG_RULE -LIBPNG_DEPEND -LIBPNG_LIBS -LIBPNG_INCLUDES -ZLIB_RULE -ZLIB_DEPEND -ZLIB_LIBS -ZLIB_INCLUDES -KPATHSEA_RULE -KPATHSEA_DEPEND -KPATHSEA_LIBS -KPATHSEA_INCLUDES -LIBOBJS -CPP -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -lt_ECHO -RANLIB -AR -OBJDUMP -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -EGREP -GREP -SED -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_maintainer_mode -enable_shared -enable_static -with_pic -enable_fast_install -enable_dependency_tracking -with_gnu_ld -enable_libtool_lock -enable_largefile -with_system_kpathsea -with_kpathsea_includes -with_kpathsea_libdir -with_system_zlib -with_zlib_includes -with_zlib_libdir -with_system_libpng -with_libpng_includes -with_libpng_libdir -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=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 ;; - - -*) { $as_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 && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_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'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -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 - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures dvipdfm 0.13.3TL to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/dvipdfm] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of dvipdfm 0.13.3TL:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-largefile omit support for large files - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-system-kpathsea use installed kpathsea headers and library - --with-kpathsea-includes=DIR - kpathsea headers installed in DIR - --with-kpathsea-libdir=DIR - kpathsea library installed in DIR - --with-system-zlib use installed zlib headers and library - --with-zlib-includes=DIR - zlib headers installed in DIR - --with-zlib-libdir=DIR zlib library installed in DIR - --with-system-libpng use installed libpng headers and library - --with-libpng-includes=DIR - libpng headers installed in DIR - --with-libpng-libdir=DIR - libpng library installed in DIR - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <tex-k@tug.org>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -dvipdfm configure 0.13.3TL -generated by GNU Autoconf 2.63 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by dvipdfm $as_me 0.13.3TL, which was -generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -ac_aux_dir= -for ac_dir in ../../build-aux "$srcdir"/../../build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../../build-aux \"$srcdir\"/../../build-aux" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in ../../build-aux \"$srcdir\"/../../build-aux" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - - -am__api_version='1.11' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.2.6' -macro_revision='1.3012' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - $as_unset ac_script || ac_script= - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$lt_save_ifs" -else - lt_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - lt_cv_prog_gnu_ld=yes - ;; -*) - lt_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$ac_tool_prefix"; then - for ac_prog in "dumpbin -symbols" "link -dump -symbols" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DUMPBIN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in "dumpbin -symbols" "link -dump -symbols" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4350: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:4353: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:4356: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:$LINENO: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AR="ar" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -else - AR="$ac_cv_prog_AR" -fi - -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:$LINENO: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:$LINENO: result: ok" >&5 -$as_echo "ok" >&6; } -fi - - - - - - - - - - - - - - - - - - - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 5562 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - $as_echo_n "(cached) " >&6 -else - 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 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - lt_cv_cc_needs_belf=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - 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 - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - lt_cv_ld_exported_symbols_list=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_ld_exported_symbols_list=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in dlfcn.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='dvipdfm' - VERSION='0.13.3TL' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - - -{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - - - - - - - - - - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:$LINENO: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -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 - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7508: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7512: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -$as_echo "$lt_prog_compiler_pic" >&6; } - - - - - - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7847: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7851: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7952: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7956: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8007: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:8011: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' - archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat >conftest.$ac_ext <<_ACEOF -int foo(void) {} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -$as_echo "$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then - shlibpath_overrides_runpath=yes -fi - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 -$as_echo_n "checking for shl_load... " >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -$as_echo "$ac_cv_func_shl_load" >&6; } -if test "x$ac_cv_func_shl_load" = x""yes; then - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_shl_load=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 -$as_echo_n "checking for dlopen... " >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -$as_echo "$ac_cv_func_dlopen" >&6; } -if test "x$ac_cv_func_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dl_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_svld_dlopen=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_dld_dld_link=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 10807 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line 10903 "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <stdio.h> - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval=$enable_largefile; -fi - -if test "$enable_largefile" != no; then - - { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_largefile_CC=' -n32'; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - $as_echo_n "(cached) " >&6 -else - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_file_offset_bits=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_file_offset_bits=64; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -$as_echo "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then - $as_echo_n "(cached) " >&6 -else - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_large_files=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_sys_large_files=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -$as_echo "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF -;; -esac -rm -rf conftest* - fi -fi - -{ $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -$as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then - $as_echo_n "(cached) " >&6 -else - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> /* for off_t */ - #include <stdio.h> -int -main () -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_sys_largefile_source=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#define _LARGEFILE_SOURCE 1 -#include <sys/types.h> /* for off_t */ - #include <stdio.h> -int -main () -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_sys_largefile_source=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - ac_cv_sys_largefile_source=unknown - break -done -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 -$as_echo "$ac_cv_sys_largefile_source" >&6; } -case $ac_cv_sys_largefile_source in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source -_ACEOF -;; -esac -rm -rf conftest* - -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -if test $ac_cv_sys_largefile_source != unknown; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_FSEEKO 1 -_ACEOF - -fi - - - - - - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then - break -fi -done -if test "${ac_cv_search_opendir+set}" = set; then - : -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking whether closedir returns void" >&5 -$as_echo_n "checking whether closedir returns void... " >&6; } -if test "${ac_cv_func_closedir_void+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_closedir_void=yes -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header_dirent> -#ifndef __cplusplus -int closedir (); -#endif - -int -main () -{ -return closedir (opendir (".")) != 0; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_closedir_void=no -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_closedir_void=yes -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 -$as_echo "$ac_cv_func_closedir_void" >&6; } -if test $ac_cv_func_closedir_void = yes; then - -cat >>confdefs.h <<\_ACEOF -#define CLOSEDIR_VOID 1 -_ACEOF - -fi - - - - - - - - - - - -for ac_header in assert.h float.h limits.h memory.h pwd.h stdlib.h \ - string.h strings.h sys/param.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ---------------------------- ## -## Report this to tex-k@tug.org ## -## ---------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - -for ac_func in putenv strcasecmp strtol strstr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - - - - - - - - - - -for ac_func in bcmp bcopy bzero getcwd getwd index memcmp memcpy rindex strchr strrchr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_inline=$ac_kw -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - -{ $as_echo "$as_me:$LINENO: checking for struct stat.st_mtim" >&5 -$as_echo_n "checking for struct stat.st_mtim... " >&6; } -if test "${ac_cv_member_struct_stat_st_mtim+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_mtim) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_mtim=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_mtim) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_mtim=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_mtim=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_mtim" >&5 -$as_echo "$ac_cv_member_struct_stat_st_mtim" >&6; } -if test "x$ac_cv_member_struct_stat_st_mtim" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_MTIM 1 -_ACEOF - - -fi - -{ $as_echo "$as_me:$LINENO: checking whether the compiler accepts prototypes" >&5 -$as_echo_n "checking whether the compiler accepts prototypes... " >&6; } -if test "${kb_cv_c_prototypes+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdarg.h> -int -main () -{ -extern void foo(int i,...); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - kb_cv_c_prototypes=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - kb_cv_c_prototypes=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $kb_cv_c_prototypes" >&5 -$as_echo "$kb_cv_c_prototypes" >&6; } -if test "$kb_cv_c_prototypes" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROTOTYPES 1 -_ACEOF - -fi -{ $as_echo "$as_me:$LINENO: checking whether program_invocation_name is predefined" >&5 -$as_echo_n "checking whether program_invocation_name is predefined... " >&6; } -if test "${kb_cv_var_program_inv_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -extern char *program_invocation_name; - program_invocation_name = "love"; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - kb_cv_var_program_inv_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - kb_cv_var_program_inv_name=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $kb_cv_var_program_inv_name" >&5 -$as_echo "$kb_cv_var_program_inv_name" >&6; } -if test "$kb_cv_var_program_inv_name" = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PROGRAM_INVOCATION_NAME 1 -_ACEOF - -fi - - -ac_config_headers="$ac_config_headers config.h" - - -# TEXMF='${datadir}/texmf' -# AC_SUBST(TEXMF) - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_size_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((size_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <sys/types.h> -#include <time.h> - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_struct_tm=time.h -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether time.h defines timezone as an external variable" >&5 -$as_echo_n "checking whether time.h defines timezone as an external variable... " >&6; } -if test "${maw_cv_ext_timezone+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <time.h> -int -main () -{ --timezone; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - maw_cv_ext_timezone=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - maw_cv_ext_timezone=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $maw_cv_ext_timezone" >&5 -$as_echo "$maw_cv_ext_timezone" >&6; } -if test "x$maw_cv_ext_timezone" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TIMEZONE 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking for struct tm.tm_gmtoff" >&5 -$as_echo_n "checking for struct tm.tm_gmtoff... " >&6; } -if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <time.h> - -int -main () -{ -static struct tm ac_aggr; -if (ac_aggr.tm_gmtoff) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_gmtoff=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <time.h> - -int -main () -{ -static struct tm ac_aggr; -if (sizeof ac_aggr.tm_gmtoff) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_tm_tm_gmtoff=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_tm_tm_gmtoff=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5 -$as_echo "$ac_cv_member_struct_tm_tm_gmtoff" >&6; } -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TM_GMTOFF 1 -_ACEOF - -fi - - - -{ $as_echo "$as_me:$LINENO: checking for working memcmp" >&5 -$as_echo_n "checking for working memcmp... " >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_memcmp_working=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Some versions of memcmp are not 8-bit clean. */ - char c0 = '\100', c1 = '\200', c2 = '\201'; - if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) - return 1; - - /* The Next x86 OpenStep bug shows up only when comparing 16 bytes - or more and with at least one buffer not starting on a 4-byte boundary. - William Lewis provided this test program. */ - { - char foo[21]; - char bar[21]; - int i; - for (i = 0; i < 4; i++) - { - char *a = foo + i; - char *b = bar + i; - strcpy (a, "--------01111111"); - strcpy (b, "--------10000000"); - if (memcmp (a, b, 16) >= 0) - return 1; - } - return 0; - } - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_memcmp_working=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_memcmp_working=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 -$as_echo "$ac_cv_func_memcmp_working" >&6; } -test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in - *" memcmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" - ;; -esac - - - - -for ac_func in strspn system -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -{ $as_echo "$as_me:$LINENO: checking for library containing pow" >&5 -$as_echo_n "checking for library containing pow... " >&6; } -if test "${ac_cv_search_pow+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pow (); -int -main () -{ -return pow (); - ; - return 0; -} -_ACEOF -for ac_lib in '' m; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_search_pow=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_pow+set}" = set; then - break -fi -done -if test "${ac_cv_search_pow+set}" = set; then - : -else - ac_cv_search_pow=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_pow" >&5 -$as_echo "$ac_cv_search_pow" >&6; } -ac_res=$ac_cv_search_pow -if test "$ac_res" != no; then - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - -## _KPSE_INIT: Initialize TL infrastructure -kpse_BLD=`(cd "./../../." && pwd)` -kpse_SRC=`(cd "$srcdir/../../." && pwd)` - -## _KPSE_USE_LIBTOOL: Generate a libtool script for use in configure tests -: ${CONFIG_LT=./config.lt} -{ $as_echo "$as_me:$LINENO: creating $CONFIG_LT" >&5 -$as_echo "$as_me: creating $CONFIG_LT" >&6;} -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 6>&1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $0 [OPTIONS] - - -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 - -Report bugs to <bug-libtool@gnu.org>." - -lt_cl_version="\ -dvipdfm config.lt 0.13.3TL -configured by $0, generated by GNU Autoconf 2.63. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $# != 0 -do - case $1 in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) { { $as_echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -$as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) { { $as_echo "$as_me:$LINENO: error: unrecognized argument: $1 -Try \`$0 --help' for more information." >&5 -$as_echo "$as_me: error: unrecognized argument: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - esac - shift -done - -if $lt_cl_silent; then - exec 6>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -{ $as_echo "$as_me:$LINENO: creating $ofile" >&5 -$as_echo "$as_me: creating $ofile" >&6;} - - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} - -_LT_EOF - ;; - esac - - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - -{ (exit 0); exit 0; } -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec 5>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec 5>>config.log - $lt_cl_success || { (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_link="./libtool --mode=link --tag=CC $ac_link" - -## _KPSE_LIB_FLAGS: Setup kpathsea (-lkpathsea) flags - -# Check whether --with-system-kpathsea was given. -if test "${with_system_kpathsea+set}" = set; then - withval=$with_system_kpathsea; -fi - -# Check whether --with-kpathsea-includes was given. -if test "${with_kpathsea_includes+set}" = set; then - withval=$with_kpathsea_includes; -fi - -# Check whether --with-kpathsea-libdir was given. -if test "${with_kpathsea_libdir+set}" = set; then - withval=$with_kpathsea_libdir; -fi -if test "x$with_system_kpathsea" = xyes; then - if test "x$with_kpathsea_includes" != x && test "x$with_kpathsea_includes" != xyes; then - KPATHSEA_INCLUDES="-I$with_kpathsea_includes" -fi -KPATHSEA_LIBS="-lkpathsea" -if test "x$with_kpathsea_libdir" != x && test "x$with_kpathsea_libdir" != xyes; then - KPATHSEA_LIBS="-L$with_kpathsea_libdir $KPATHSEA_LIBS" -fi -else - KPATHSEA_INCLUDES=`echo '-IBLD/texk -ISRC/texk' | sed \ - -e "s,SRC/,$kpse_SRC/,g" \ - -e "s,BLD/,$kpse_BLD/,g"` - KPATHSEA_LIBS=`echo 'BLD/texk/kpathsea/libkpathsea.la' | sed \ - -e "s,BLD/,$kpse_BLD/,g"` - - KPATHSEA_DEPEND=`echo 'BLD/texk/kpathsea/libkpathsea.la' | sed \ - -e 's,BLD/texk/,${top_builddir}/../,g'` - KPATHSEA_RULE='# Rebuild libkpathsea -$(KPATHSEA_DEPEND): ${top_srcdir}/../kpathsea/*.[ch] ${top_builddir}/../kpathsea/paths.h - cd ${top_builddir}/../kpathsea && $(MAKE) $(AM_MAKEFLAGS) -${top_builddir}/../kpathsea/paths.h: - cd ${top_builddir}/../kpathsea && $(MAKE) $(AM_MAKEFLAGS)' -fi - -## _KPSE_LIB_FLAGS: Setup zlib (-lz) flags - -# Check whether --with-system-zlib was given. -if test "${with_system_zlib+set}" = set; then - withval=$with_system_zlib; -fi - -# Check whether --with-zlib-includes was given. -if test "${with_zlib_includes+set}" = set; then - withval=$with_zlib_includes; -fi - -# Check whether --with-zlib-libdir was given. -if test "${with_zlib_libdir+set}" = set; then - withval=$with_zlib_libdir; -fi -if test "x$with_system_zlib" = xyes; then - if test "x$with_zlib_includes" != x && test "x$with_zlib_includes" != xyes; then - ZLIB_INCLUDES="-I$with_zlib_includes" -fi -ZLIB_LIBS="-lz" -if test "x$with_zlib_libdir" != x && test "x$with_zlib_libdir" != xyes; then - ZLIB_LIBS="-L$with_zlib_libdir $ZLIB_LIBS" -fi -else - ZLIB_INCLUDES=`echo '-IBLD/libs/zlib' | sed \ - -e "s,SRC/,$kpse_SRC/,g" \ - -e "s,BLD/,$kpse_BLD/,g"` - ZLIB_LIBS=`echo 'BLD/libs/zlib/libz.a' | sed \ - -e "s,BLD/,$kpse_BLD/,g"` - - ZLIB_DEPEND=`echo 'BLD/libs/zlib/libz.a' | sed \ - -e 's,BLD/,${top_builddir}/../../,g'` - ZLIB_RULE='# Rebuild libz -$(ZLIB_DEPEND): ${top_builddir}/../../libs/zlib/zlib.h ${top_builddir}/../../libs/zlib/zconf.h - cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS) -${top_builddir}/../../libs/zlib/zlib.h ${top_builddir}/../../libs/zlib/zconf.h: - cd ${top_builddir}/../../libs/zlib && $(MAKE) $(AM_MAKEFLAGS)' -fi - -## _KPSE_LIB_FLAGS: Setup libpng (-lpng) flags - -# Check whether --with-system-libpng was given. -if test "${with_system_libpng+set}" = set; then - withval=$with_system_libpng; -fi - -# Check whether --with-libpng-includes was given. -if test "${with_libpng_includes+set}" = set; then - withval=$with_libpng_includes; -fi - -# Check whether --with-libpng-libdir was given. -if test "${with_libpng_libdir+set}" = set; then - withval=$with_libpng_libdir; -fi -if test "x$with_system_libpng" = xyes; then - if test "x$with_libpng_includes" != x && test "x$with_libpng_includes" != xyes; then - LIBPNG_INCLUDES="-I$with_libpng_includes" -fi -LIBPNG_LIBS="-lpng" -if test "x$with_libpng_libdir" != x && test "x$with_libpng_libdir" != xyes; then - LIBPNG_LIBS="-L$with_libpng_libdir $LIBPNG_LIBS" -fi -else - LIBPNG_INCLUDES=`echo '-IBLD/libs/libpng' | sed \ - -e "s,SRC/,$kpse_SRC/,g" \ - -e "s,BLD/,$kpse_BLD/,g"` - LIBPNG_LIBS=`echo 'BLD/libs/libpng/libpng.a' | sed \ - -e "s,BLD/,$kpse_BLD/,g"` - - LIBPNG_DEPEND=`echo 'BLD/libs/libpng/libpng.a' | sed \ - -e 's,BLD/,${top_builddir}/../../,g'` - LIBPNG_RULE='# Rebuild libpng -$(LIBPNG_DEPEND): ${top_builddir}/../../libs/libpng/png.h ${top_builddir}/../../libs/libpng/pngconf.h - cd ${top_builddir}/../../libs/libpng && $(MAKE) $(AM_MAKEFLAGS) -${top_builddir}/../../libs/libpng/png.h ${top_builddir}/../../libs/libpng/pngconf.h: - cd ${top_builddir}/../../libs/libpng && $(MAKE) $(AM_MAKEFLAGS)' -fi - - -kpse_save_CPPFLAGS=$CPPFLAGS -kpse_save_LIBS=$LIBS - -CPPFLAGS="$CPPFLAGS $KPATHSEA_INCLUDES" -LIBS="$KPATHSEA_LIBS $LIBS" - - -{ $as_echo "$as_me:$LINENO: checking whether kpathsea declares the kpse_type1_format" >&5 -$as_echo_n "checking whether kpathsea declares the kpse_type1_format... " >&6; } -if test "${kpse_cv_have_type1_format+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <kpathsea/kpathsea.h> -int -main () -{ -kpse_type1_format - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - kpse_cv_have_type1_format=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - kpse_cv_have_type1_format=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $kpse_cv_have_type1_format" >&5 -$as_echo "$kpse_cv_have_type1_format" >&6; } -if test "x$kpse_cv_have_type1_format" = xyes; then - : -else - if test "x$enable_build" = xno; then - { $as_echo "$as_me:$LINENO: WARNING: building dvipdfm has been disabled and would fail because -Required file formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be available. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file \"kpathsea/kpathsea.h\" - -" >&5 -$as_echo "$as_me: WARNING: building dvipdfm has been disabled and would fail because -Required file formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be available. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file \"kpathsea/kpathsea.h\" - -" >&2;} -else - { { $as_echo "$as_me:$LINENO: error: Required file formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be available. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file \"kpathsea/kpathsea.h\" - -" >&5 -$as_echo "$as_me: error: Required file formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be available. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file \"kpathsea/kpathsea.h\" - -" >&2;} - { (exit 1); exit 1; }; } -fi - - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether kpathsea declares the kpse_ofm_format" >&5 -$as_echo_n "checking whether kpathsea declares the kpse_ofm_format... " >&6; } -if test "${kpse_cv_have_ofm_format+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <kpathsea/kpathsea.h> -int -main () -{ -kpse_ofm_format - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - kpse_cv_have_ofm_format=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - kpse_cv_have_ofm_format=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $kpse_cv_have_ofm_format" >&5 -$as_echo "$kpse_cv_have_ofm_format" >&6; } -if test "x$kpse_cv_have_ofm_format" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_OMEGA_FORMATS 1 -_ACEOF - -fi - - -{ $as_echo "$as_me:$LINENO: checking whether kpathsea declares the kpse_truetype_format" >&5 -$as_echo_n "checking whether kpathsea declares the kpse_truetype_format... " >&6; } -if test "${kpse_cv_have_truetype_format+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <kpathsea/kpathsea.h> -int -main () -{ -kpse_truetype_format - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - kpse_cv_have_truetype_format=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - kpse_cv_have_truetype_format=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $kpse_cv_have_truetype_format" >&5 -$as_echo "$kpse_cv_have_truetype_format" >&6; } -if test "x$kpse_cv_have_truetype_format" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_TTF_FORMATS 1 -_ACEOF - -fi - - if test "x$kpse_cv_have_truetype_format" = xyes; then - HAVE_TTF_TRUE= - HAVE_TTF_FALSE='#' -else - HAVE_TTF_TRUE='#' - HAVE_TTF_FALSE= -fi - - -{ $as_echo "$as_me:$LINENO: checking whether xbasename is declared" >&5 -$as_echo_n "checking whether xbasename is declared... " >&6; } -if test "${ac_cv_have_decl_xbasename+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <kpathsea/kpathsea.h> - -int -main () -{ -#ifndef xbasename - (void) xbasename; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_have_decl_xbasename=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_have_decl_xbasename=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_xbasename" >&5 -$as_echo "$ac_cv_have_decl_xbasename" >&6; } -if test "x$ac_cv_have_decl_xbasename" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_XBASENAME 1 -_ACEOF - -fi - - - -CPPFLAGS="$CPPFLAGS $ZLIB_INCLUDES" -LIBS="$ZLIB_LIBS $LIBS" - -{ $as_echo "$as_me:$LINENO: checking for zlib header files and library" >&5 -$as_echo_n "checking for zlib header files and library... " >&6; } -if test "${cho_cv_have_zlib+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <zlib.h> -int -main () -{ -z_stream p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - cho_cv_have_zlib=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cho_cv_have_zlib=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $cho_cv_have_zlib" >&5 -$as_echo "$cho_cv_have_zlib" >&6; } -if test "x$cho_cv_have_zlib" = xyes; then - -for ac_func in compress -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ZLIB 1 -_ACEOF - - -for ac_func in compress2 -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ZLIB_COMPRESS2 1 -_ACEOF - -fi -done - -fi -done - -fi - - - -CPPFLAGS="$CPPFLAGS $LIBPNG_INCLUDES" -LIBS="$LIBPNG_LIBS $LIBS" - -{ $as_echo "$as_me:$LINENO: checking for libpng header files and library" >&5 -$as_echo_n "checking for libpng header files and library... " >&6; } -if test "${cho_cv_have_png+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <png.h> -int -main () -{ -png_infop p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - cho_cv_have_png=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cho_cv_have_png=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $cho_cv_have_png" >&5 -$as_echo "$cho_cv_have_png" >&6; } -if test "x$cho_cv_have_png" = xyes; then - -for ac_func in png_get_image_width -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBPNG 1 -_ACEOF - -fi -done - -fi - - - -CPPFLAGS=$kpse_save_CPPFLAGS -LIBS=$kpse_save_LIBS - - -ac_config_files="$ac_config_files Makefile" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_TTF_TRUE}" && test -z "${HAVE_TTF_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_TTF\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"HAVE_TTF\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -#! $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 || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by dvipdfm $as_me 0.13.3TL, which was -generated by GNU Autoconf 2.63. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTION]... [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to <bug-autoconf@gnu.org>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -dvipdfm config.status 0.13.3TL -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' -macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' -enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' -pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' -host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' -host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' -host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' -build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' -build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' -build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' -SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' -Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' -GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' -EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' -FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' -LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' -NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' -LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' -ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' -exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' -lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' -reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' -AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' -STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' -RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' -compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' -GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' -SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' -ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' -need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' -LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' -libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' -fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' -need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' -version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' -runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' -libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' -soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' -finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' -old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' -striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -AR \ -AR_FLAGS \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -SHELL \ -ECHO \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_wl \ -lt_prog_compiler_pic \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ -hardcode_libdir_separator \ -fix_srcfile_path \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` - ;; -esac - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - -ac_aux_dir='$ac_aux_dir' - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr='
' -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\).*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\).*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } -_ACEOF - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that does not interpret backslashes. -ECHO=$lt_ECHO - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[^=]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$@"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1=\$$1\$2" -} - -_LT_EOF - ;; - esac - - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - -# 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 -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/Build/source/texk/dvipdfm/configure.ac b/Build/source/texk/dvipdfm/configure.ac deleted file mode 100644 index 87284149143..00000000000 --- a/Build/source/texk/dvipdfm/configure.ac +++ /dev/null @@ -1,86 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -dnl -dnl Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> -dnl -dnl This file is free software; the copyright holder -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -AC_INIT([dvipdfm], [0.13.3TL], [tex-k@tug.org]) -AC_PREREQ([2.63]) -AC_CONFIG_SRCDIR([dvipdfm.c]) -AC_CONFIG_AUX_DIR([../../build-aux]) -AC_CONFIG_MACRO_DIR([../../m4]) - -dnl Common code for all programs using libkpathsea. -KPSE_COMMON([dvipdfm]) - -AC_CONFIG_HEADERS([config.h]) - -# TEXMF='${datadir}/texmf' -# AC_SUBST(TEXMF) - -dnl Checks for header files. -AC_HEADER_STDC - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_TYPE_SIZE_T -AC_STRUCT_TM - -MAW_EXT_TIMEZONE -MAW_TM_HAS_TM_GMTOFF - -dnl Checks for library functions. -AC_FUNC_MEMCMP -AC_CHECK_FUNCS([strspn system]) - -AC_SEARCH_LIBS([pow], [m]) - -KPSE_KPATHSEA_FLAGS -KPSE_ZLIB_FLAGS -KPSE_LIBPNG_FLAGS - -KPSE_ADD_FLAGS([kpathsea]) - -dnl Check for required file formats. -dnl We need tex_ps_header, type1, and vf; -dnl of these type1 was introduced last (Feb 1996). -KPSE_CHECK_KPSE_FORMAT([type1], , - [KPSE_MSG_ERROR([dvipdfm], - [Required file formats not found in Kpathsea header files. - -This version of dvipdfm requires that kpathsea and its headers be available. -If you are sure they are installed and in a standard place, maybe you need a -newer version of kpathsea? You also might try setting the environment -variable CPPFLAGS (or CFLAGS) with -I pointing to the directory containing -the file "kpathsea/kpathsea.h" - -])]) - -dnl Check for ofm format. -KPSE_CHECK_KPSE_FORMAT([ofm], - [AC_DEFINE([HAVE_OMEGA_FORMATS], 1, - [Define if kpathsea understands Omega (OFM/OVF) formats.])]) - -dnl Check for truetype format. -KPSE_CHECK_KPSE_FORMAT([truetype], - [AC_DEFINE([HAVE_TTF_FORMATS], 1, - [Define if kpathsea understands TrueType (TTF) formats.])]) -AM_CONDITIONAL([HAVE_TTF], [test "x$kpse_cv_have_truetype_format" = xyes]) - -dnl Check for xbasename. -KPSE_CHECK_XBASENAME([AC_DEFINE([HAVE_XBASENAME], 1, - [Define if you have xbasename() in your libkpathsea - instead of basename().])]) - -KPSE_ADD_FLAGS([zlib]) -CHO_CHECK_ZLIB - -KPSE_ADD_FLAGS([libpng]) -CHO_CHECK_LIBPNG - -KPSE_RESTORE_FLAGS - -AC_CONFIG_FILES([Makefile]) - -AC_OUTPUT diff --git a/Build/source/texk/dvipdfm/configure.in.orig b/Build/source/texk/dvipdfm/configure.in.orig deleted file mode 100644 index 26fef88d265..00000000000 --- a/Build/source/texk/dvipdfm/configure.in.orig +++ /dev/null @@ -1,58 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(dvipdfm.c) - -define([_version_],"0.13.2d") - -VERSION=_version_ -AC_SUBST(VERSION) -AC_DEFINE(VERSION, _version_, [package version]) -AC_DEFINE(PACKAGE, "dvipdfm", [package name]) - -AC_CONFIG_HEADERS([c-auto.h:c-auto.in], [date >stamp-auto]) - -dnl Checks for programs. -AC_PROG_CC -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_LN_S -AC_PROG_MAKE_SET - -sinclude(../kpathsea/withenable.ac) -sinclude(../../libs/zlib/withenable.ac) -sinclude(../../libs/libpng/withenable.ac) -sinclude(../../libs/zlib/zlib.ac) -sinclude(../../libs/libpng/libpng.ac) - -AC_DEFINE([HAVE_KPATHSEA], 1, [define if you have kpathsea]) -AC_DEFINE([HAVE_XBASENAME], 1, [define if you have xbasename() in your libkpathsea instead of basename()]) -AC_DEFINE([HAVE_ZLIB], 1, [define if you have zlib and its headers]) -AC_DEFINE([HAVE_ZLIB_COMPRESS2], 1, [define if your zlib has the compress2 function]) -AC_DEFINE([HAVE_KPSE_FORMATS], 1, [define if kpathsea supports type1 and vf formats]) -AC_DEFINE([HAVE_OMEGA_FORMATS], 1, [Define if kpathsea understands Omega (OFM/OVF) formats]) -AC_DEFINE([HAVE_TTF_FORMATS], 1, [define if kpathsea understands TrueType (TTF) formats]) -AC_DEFINE([HAVE_LIBPNG], 1, [define if you have libpng]) -TTF_OPT='' -AC_SUBST(TTF_OPT) - -# TEXMF='${datadir}/texmf' -# AC_SUBST(TEXMF) - -dnl Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(unistd.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_EXT_TIMEZONE -AC_TZ_HAS_TM_GMTOFF - -AC_C_CONST -AC_TYPE_SIZE_T -AC_STRUCT_TM - -dnl Checks for library functions. -AC_FUNC_MEMCMP -AC_CHECK_FUNCS(strspn system) -AC_CHECK_LIB(m, main) - -KPSE_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/Build/source/texk/dvipdfm/doc/dvipdfm.tex b/Build/source/texk/dvipdfm/doc/dvipdfm.tex deleted file mode 100644 index 8ebfc3011a7..00000000000 --- a/Build/source/texk/dvipdfm/doc/dvipdfm.tex +++ /dev/null @@ -1,1304 +0,0 @@ -% $Header$ -% \special{ pdf: pagesize width 8.5truein height 11.0truein} -\special{ pdf: docview <</PageMode /UseOutlines>>}% -\catcode`\ =11\def\space{ }\catcode`\ =10 -% Page layout -\tolerance=2000 -\magnification\magstephalf -\advance\hoffset by 0.5truein -\advance\voffset by 0.5truein -\advance\hsize by -1.0truein -\advance\vsize by -1.0truein -\def\makefootline{\baselineskip=40pt\line{\the\footline}} -% -% Some helpful symbols -\def\rtm{{\font\r=cmss10 at 4pt -\font\c=cmsy5 -\setbox0\hbox{\c\char13}\skip0\wd0\box0\setbox0\hbox{\r R}\advance\skip0 by -\wd0\kern-0.5\skip0\box0}} -\def\tm{{\font\r=cmss10 at 4pt \hbox{\r TM}}}% -% -% Verbatim mode borrowed from manmac macros -% -\outer\def\begindisplay{\obeylines\startdisplay} -{\obeylines\gdef\startdisplay#1 - {\catcode`\^^M=5$$#1\halign\bgroup\indent##\hfil&&\qquad##\hfil\cr}} -\outer\def\enddisplay{\crcr\egroup$$} -\chardef\other=12 -\def\ttverbatim{\begingroup \catcode`\\=\other \catcode`\{=\other - \catcode`\}=\other \catcode`\$=\other \catcode `\&=\other - \catcode`\#=\other \catcode`\%=\other \catcode `\~=\other - \catcode`\_=\other \catcode`\^=\other - \obeyspaces \obeylines \tt} -{\obeyspaces\gdef {\ }} -\outer\def\begintt{$$\let\par=\endgraf\ttverbatim \parskip=0pt - \catcode`\|=0 \rightskip=-5pc \ttfinish} -{\catcode`\|=0 |catcode`|\=\other - |obeylines % end of line is now active - |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}} -\catcode`\|=\active -{\obeylines\gdef|{\ttverbatim\spaceskip=\ttglue\let^^M=\ \let|=\endgroup}} -\newskip\ttglue -\ttglue=0.5em plus 0.25em minus 0.15em -% -% -% Some color definitions -% -\def\begincolor#1{\special{pdf:bc #1}}% -\def\endcolor{\special{pdf:ec}}% -\def\colored#1#2{% - \begincolor{#1}#2\endcolor} -\def\red{[0.8 0.5 0]}% -\def\green{[0 1 0]}% -\def\blue{[0 0.4 0.8]}% -\def\yellow{[0.8 0.9 0.1]}% -\def\linkcolor{[0.5 0.0 0.7]}% -% -% Small help for images -\def\reserve#1#2#3{\setbox0\hbox{}\wd0=#1 - \ht0=#2\special{#3}\box0} -\def\nreserve#1#2#3{\setbox0\hbox{}\wd0=#1 - \ht0=#2{#3}\box0} -% -% Some font definitions -% -\font\maintitlefont=cmti12 at 20.74pt -\font\headingfont=cmss12 at 14.4pt -\font\subheadingfont=cmss12 at 12pt -% -% -% Miscellaneous token lists -% -\newtoks\title\newtoks\author\newtoks\version -\newtoks\date -% -% Bibliography counters -\newcount\biblioitems\biblioitems=0 -\def\bibitem{\medskip\advance\biblioitems by 1\item{[\the\biblioitems]}} -% -% Counters for section levels -% -\newcount\sectioncount\newcount\ssectioncount\newcount\sssectioncount -\sectioncount0\ssectioncount0\sssectioncount0 -% -\newskip\indentlevel\indentlevel=\parindent -\newskip\secskip\secskip=24pt plus 1pt minus 2pt -\newskip\subsecskip\subsecskip=16pt plus 1pt minus 2pt -\def\beginlist{\par\nobreak\advance\leftskip by \indentlevel\advance\rightskip by -\indentlevel\medskip\nobreak} -\def\endlist{\par\advance\leftskip by -\indentlevel\advance\rightskip by --\indentlevel\medskip} -% -% -\def\settitle{% - {\maintitlefont\colored{\blue}{\the\title}}% - \special {pdf: docinfo << /Title (\expandafter\the\title) >>}} -% -\def\setauthor{% - {\headingfont\colored{\blue}{\the\author}}% - \special {pdf: docinfo << /Author (\the\author) >>}}% -% -\def\setversion{% - {\subheadingfont{\the\version}}% -}% -\def\setdate{% - {\subheadingfont{\the\date}}% -}% -\def\setlink#1{\colored{\linkcolor}{#1}}% -% -\def\setheading#1{% - {\headingfont\colored{\blue}{#1}}\raise\baselineskip - \hbox{\special{pdf: outline 1 << /Title (#1) /Dest [ -@thispage /FitH @ypos ] >> }}}% -% -\def\setsubheading#1{% - {\subheadingfont\colored{\blue}{#1}}\raise\baselineskip - \hbox{\special{pdf: outline 2 << /Title (#1) /Dest [ -@thispage /FitH @ypos ] >> }}}% -% -% \def\link#1#2{\setbox0\hbox{\setlink{#1}}% -% \leavevmode\special{pdf: ann width \the\wd0\space height \the\ht0\space depth \the\dp0 -% << /Type /Annot /Subtype /Link /Border [ 0 0 0 ] /A << /S /GoTo -% /D (#2) >> >>}\box0\relax}% -\def\link#1#2{% - \leavevmode\special{pdf: bann - << /Type /Annot /Subtype /Link /Border [ 0 0 0 ] /A << /S /GoTo /D (#2) ->> ->>}\setlink{#1}\special{pdf: eann}\relax} -% -\def\dest#1{\hbox{\raise14pt\hbox{\special{pdf:dest (#1) [ @thispage /FitH -@ypos ]}}}}% -% -\def\maketitle{\noindent\settitle\hfill\setauthor\par - \hrule height 1.0pt\medskip - \noindent\setversion\hfill\setdate\vskip0.3in}% -% -\def\section#1{\advance\sectioncount by 1\ssectioncount0 -\vskip-\lastskip\vskip\secskip\goodbreak -\noindent\setheading{\the\sectioncount. #1}\medskip\nobreak}% -\def\subsection#1{\vskip-\lastskip\advance\ssectioncount by 1% -\vskip\subsecskip\noindent -\setsubheading{\the\sectioncount.\the\ssectioncount\ - #1}\par\nobreak\smallskip}% -% -\def\display#1{\medskip\line{\quad #1\hfil}\medskip} -\def\example{\medskip\noindent{\it Example:\quad}\nobreak} -\def\note{\medskip\noindent{\it Note:\quad\nobreak}} -\def\syntax{\medskip\noindent{\it Syntax:\quad}\nobreak} -\def\description{\medskip\noindent{\it Description:\quad}\nobreak} -% -\def\newpage{\vfill\eject} -% -\def\dvipdfm{{\tt dvipdfm}}% -% -\title{Dvipdfm User's Manual} -\author{Mark A. Wicks} -\version{Version 0.12.4b} -\date{September 19, 1999} -\maketitle -\section{Introduction} -This package is a DVI (\TeX) to PDF conversion utility, -having the following features: - -\beginlist -\item{$\bullet$} {\it Support for outline entries (also called bookmarks), named destinations, -and \link{annotations}{Annotate} (including hyperlinks, forms and widgets).} Nearly -every Acrobat Distiller pdfmark is approximated. - -\item{$\bullet$} {\it Support for ``standard'' DVI specials such -as Hyper\TeX\ (HTML), TPIC, color specials, |PSfile|, and other PostScript specials.} - -\item{$\bullet$} {\it Native support for inclusion of -\link{MetaPost}{postscript} output and -inclusion of arbitrary \link{PostScript}{postscript} files with help from an external program.} - -\item{$\bullet$} {\it Support for thumbnails with a little help from GhostScript to -generate the thumbnails.} - -\item{$\bullet$} {\it Support for arbitrary, nested linear transformations -of typeset material.} Any material on the page, including -\TeX\ text, may be \link{scaled and rotated}{textxform}. - -\item{$\bullet$} {\it Ability to include the first page of a \link{PDF file}{pdfimage} as -an encapsulated object along with its embedded resources such as fonts.} -Included PDF images may be cropped by supplying a bounding box. -Note: Currently, this doesn't work if the contents stream -has multiple segments. - -\item{$\bullet$} {\it Ability to include \link{JPEG}{jpegimage} and -PNG bitmapped images as encapsulated objects.} - -\item{$\bullet$} {\it An internal color stack.} A color stack allows you to change the current color, pushing the -current color onto a stack. At any time, the original color -can be popped from the stack. This is useful, for example, in -headlines, that may have a different color from the current text. -The headline macro can restore the current color without knowing -what it is. - -\item{$\bullet$} {\it Support for partial font embedding and Flate compression -to reduce file size} - -\item{$\bullet$} {\it Support for font reencoding to work around encodings -that aren't fully supported by the Acrobat suite of products.} - -\item{$\bullet$} {\it Balanced page and destination trees.} Balancing -these trees improves reader access speed -on very large documents. - -\endlist - -The electronic version of the document exercises -some of the hypertext features and serves as -a sample input file for |dvipdfm|. -It assumes the reader has some familiarity with the basic features -of the Portable Document Format. The PDF specification -is distributed by Adobe Systems\link{[1]}{pdfmanual}. -An excellent source for information about PDF documents -in general is \link{[2]}{pdfprimer}. Information about -using \TeX\ to construct PDF documents (mainly using Distiller) is the -AcroTeX home page\link{[3]}{acrotex}. - -Currently, the widely accepted method to generate PDF file from \TeX\ -is to use Adobe's Acrobat Distiller on a PostScript -file produced by {\tt dvips}. -The hyperlink features are accessed by using \TeX\ |special| primitives -to embed pdfmarks in the PostScript produced by |dvips|. -H\`an Th\'e Th\`an's PDF\TeX\ project is an alternative method -of generating PDF from \TeX\ source. -Although quite good and fairly mature, the PDF\TeX\ project -modified \TeX\ itself to add primitives that support the PDF features. -I prefer to work with \TeX\ unmodified, as released by Donald Knuth -(call me a purist). -There is an existing DVI to PDF driver called -|dvipdf| written by Sergey Lesenko. At present, it's not widely -available, so I haven't used it. I wrote |dvipdfm| -mainly as an exercise to get at the features -of PDF I was trying to use. This |dvipdfm| project demonstrates that many features -of PDF can be accessed by using a DVI driver. -The PDF features are activated in the driver via -\TeX\ |special| primitives. - -Even though Distiller is the best method of generating PDF (and -probably will remain so for some time) I have several reasons for -seeking alternatives to Distiller. -First, Distiller isn't available for my principle operating -system---Linux. - -My second objection is philosophical. -\TeX\ is a programming language. -A DVI file is a page description consisting of very -simple program instructions that have no branching or -decision instructions. -Similarly PostScript is a complete programming language, -while PDF is a page description language consisting -of simple program instructions -without any branching or decision capabilities. -\TeX\ is like PostScript (without the graphics) -while DVI is like PDF (without the graphics or the hyperlinks). -Creating PDF from DVI using Distiller requires converting a page description to a program, -and converting that program back to a page description. -To continue this analogy, -Pdfmarks are PostScript ``escapes'' and are meant for the Distiller. -\TeX\ |\special| primitives are \TeX\ ``escapes'' and are meant for the DVI driver. -It seems natural to go directly from DVI to PDF, where \TeX\ replaces -PostScript, the DVI driver replaces Distiller, -and \TeX\ |\special| primitives replace the pdfmarks. - -Unfortunately, until graphics software -begins to produce PDF content streams or encapsulated -PDF objects, PostScript will remain the easiest -way to include graphics in \TeX\ documents. -I would hope that in the future, graphics programs -will begin to produce PDF content streams or PDF objects that -may be included using a DVI to PDF translator. Either -of these may be easily embedded using \dvipdfm\ or a similar driver. - -\section{Command Line Options} -\link{Table~1}{commandline} lists the options -that are available on the command line. -\par\noindent -Note: Several flags may be specified at once: -\example -\begintt -dvipdfm -ecz 9 test.dvi -\endtt - -\topinsert -{\dest{commandline}} -\centerline{\colored{\blue}{\subheadingfont Table~1---Command line options -recognized by |dvipdfm|}} -\bigskip\nobreak -\centerline{\vbox{\halign{{\tt #}\hskip -1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr -\omit\hfil\it Option\hfil&\omit\hfil \it Description \hfil\cr -\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} --c&{\it Disable color specials} Specifying this option -forces all color commands to be ignored. This is useful for printing a color document -on a black and white printer.\cr -\noalign{\smallskip} --e&{\it Disable partial font embedding.} This may be useful -for forms which need complete fonts, or if you run accross a PFB -file that \dvipdfm\ cannot correctly parse.\cr -\noalign{\smallskip} --f&{\it Set font map file name}. See -the \link{Font Mapping}{fontmap} section for additional information.\cr -\noalign{\smallskip} --m {\it number}&{\it Specify an additional magnification for -the document}.\cr -\noalign{\smallskip} --o {\it filename}&{\it Set the output PDF file name}.\cr -\noalign{\smallskip} --p {\it papersize}&{\it Specify the output papersize.} -Valid paper sizes are |letter|, |legal|, |ledger|, |tabloid|, -|a4|, or |a3|. The default is |letter|. Arbitrary paper -sizes can be specified via \TeX\ special commands, -which is the recommended method.\cr -\noalign{\smallskip} --l&{\it Landscape the document.} This is only -meaningful for paper sizes specified on the command line.\cr -\noalign{\smallskip} --s {\it page\_ranges}&{\it Select a subset of pages from the DVI file.} -The {\it page\_ranges} specifier is a set of comma-separated page -ranges---e.g., |dvipdfm -s 10-12,10-20|. If the first -page in a range is empty (e.g., |dvipdfm -s -10|), it represents -the beginning of the document. If -the last page in a range is empty (e.g., |dvipdfm -s 10-|), it selects the end of the document.\cr -\noalign{\smallskip} --t&{\it Embed thumbnail images.} The thumbnails must be generated by a -separate program. Details are discussed \link{later}{thumbnails} in this document\cr -\noalign{\smallskip} --d&{\it Delete thumbnail images after embedding.}\cr -\noalign{\smallskip} --x {\it number}&{\it Specify the horizontal offset -for the document.} The default is 1.0in.\cr -\noalign{\smallskip} --y {\it number}&{\it Specify the vertical offset -for the document.} The default is 1.0in.\cr -\noalign{\smallskip} --z {\it number}&{\it Specify the compression level.} -Valid compression levels range from 0 to 9, with 0 indicating -no compression. A compression level of 9 is the default.\cr -\noalign{\smallskip} --v&{\it Be verbose.} Among other things, dvipdfm -will display complete file names as various files are opened.\cr -\noalign{\smallskip} --vv&{\it Be more verbose.}\cr}}} -\endinsert - -\section{General Concepts and Syntax for TeX Specials} -Each \TeX\ |\special| -represents a separate command to the \dvipdfm\ -driver. Each |special| must begin with ``|pdf:|'' -to identify that ||special|| as a command for the \dvipdfm\ driver. -A |\special| beginning with any other characters is ignored -by the driver. Leading spaces are ignored. The characters ``|pdf:|'' -are immediately followed by a \dvipdfm\ command. These commands -are documented in \hbox{Sections~3--6}. - -\subsection{PDF Object Syntax and Variable Expansion} -With one exception, the syntax used for PDF objects -within each |\special| specials follows -the PDF specification. -The one exception is variable expansion. -In the syntax specifications that follow, {\it PDF\_Object} -means that an arbitary PDF object is expected. Similarly -{\it PDF\_Array} indicates that a PDF array is expected, {\it PDF\_Dict} -inciates that a PDF dictionary is expected, etc. -See the \link{reference manual}{pdfmanual}\ -for a complete list of PDF object types. - -The single extension implemented in this driver -allows a symbol name of the -form |@|{\it name} whereever any PDF object is expected. -The {\it name} may contain any characters allowed -in a PDF name. -A user-defined symbol beginning with |@| expands to an indirect -reference to the user-defined PDF object. This feature replaces -the |{|{\it name}|}| syntax used with pdfmarks. -In addition to the user-defined names, some names -are defined by the driver. -The driver defined variables are for -referencing objects such as the current page, future pages, -or the current location on the current page. -The driver defined variables appear in \link{Table~2}{drivervariables}. -\topinsert -{\dest{drivervariables}} -\centerline{\colored{\blue}{\subheadingfont Table~2---List of driver -defined variables}} -\bigskip\nobreak -\centerline{\vbox{\halign{{\tt #}\hskip -1em&\vtop{\leftskip0pt\rightskip0pt\hsize=3.0in\noindent #}\cr -\omit\hfil\it Variable\hfil&\omit\hfil \it Description \hfil\cr -\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} -@catalog&A reference to the document's catalog.\cr -\noalign{\smallskip} -@names&A reference to the document's /Names dictionary.\cr -\noalign{\smallskip} -@pages&A reference to the root of the document's /Pages tree.\cr -\noalign{\smallskip} -@resources&A reference to the current page resource dictionary.\cr -\noalign{\smallskip} -@thispage&A reference to the current page.\cr -\noalign{\smallskip} -@page{\it n}&A reference to page {\it n}.\cr -\noalign{\smallskip} -@nextpage&A reference to the page following |@thispage|.\cr -\noalign{\smallskip} -@prevpage&A reference to the page preceding |@thispage|.\cr -\noalign{\smallskip} -@ypos&A {\it number} representing the current vertical position in units of PDF points.\cr -\noalign{\smallskip} -@xpos&A {\it number} representing the current horizontal position in units of PDF points.\cr -}}} -\endinsert - -In the syntax specifications that follow, several -standard conventions are followed. Terminal -characters that appear in the command -are typeset in the |\tt| font, e.g., |object|. -Nonterminal symbols are typeset in italics. -Optional parameters are surrounded by brackets, e.g., -[{\it optional\_argument}]. An item followed -by~``{*}'' represents an item that may appear -zero or more times. An item followed by~``{+}'' -represents a required item that may appear multiple times. - -\subsection{Dimensions and transformations} -Interaction with the |dvipdfm| driver consists -of short commands with a few arguments delimited by white space. -Typically the arguments are PDF objects. -Two exceptions are dimension specifications and transformations. - -In the \TeX\ style, a dimension specification consists of one of the keywords -|width|, |height|, or |depth| followed by a dimension -consisting of a numerical value, followed by a unit for the dimension. The -unit will typically be |pt| (which represents a \TeX\ point, not a -PDf point) but |mm|, |cm| and |in| are also allowed. -If the document is magnified, the ``true'' dimensions |truept|, -|truemm|, |truecm|, and |truein| may be used. The notation -{\it dimension\/} in a syntax description means a dimension is expected. - -A transformation consists of one of the keywords |scale|, |xscale|, -|yscale|, or |rotate| followed by a numerical value. In the -case of |rotate| the value is the rotation angle in degrees. -The notation -{\it transformation} means a transformation is expected. -In the case of included images originating from -PDF/PostScript files, a clipping or bounding box may be specified -as part of the ``transformation.'' The bounding -box specification consists of the keyword |bbox| -followed by four numerical values, which are -the standard PostScript |llx|, |lly|, |urx|, and |ury| -coordinates of the bounding box. - -\section{Document Construction Commands} -All commands are executed via \TeX\ |\special| primitives -prefixed with the characters ``|pdf:|''. -\example -\begintt -\special{ pdf: out 1 << /Title (Introduction) - /Dest [ 1 0 R /FitH 234 ] >> -\endtt - -\dest{Annotate} -\subsection{Annotate} -\hbox to 0pt{\hskip-1.0in\special{pdf: ann width 3.0in height 36pt << /Type /Annot /Subtype /Text -/Contents (This is a /Text Annotation that looks like a sticky note.) >>}\hss} -\syntax -{\tt annotate} [{\tt @}{\it name}] {\it dimension}+ {\it PDF\_dictionary} -\description -The |annotate| (|annot| or |ann|) command defines an annotation. -Annotations are typically used for -notes, hyperlinks, forms, or widgets. -The parameter {\it name} is an optional alphanumeric identifier -and {\it PDF\_dictionary} is a valid PDF dictionary after variable expansion. -If {\tt @}{\it name} is specified, it may be used in -other PDF objects to refer to this annotation. -One or more {\it dimension} parameters are required -and each consists of the keyword -{\tt height}, {\tt width}, or {\tt depth} followed -by an appropriate length, specified as per \TeX\null. -The |width| must be nonzero and either the |height| or |depth| -must be nonzero. -Each length is a number followed by a unit, such as {\tt pt}, -{\tt in}, or {\tt cm}. Since these values -would typically be entered by \TeX, a {\tt pt} -is a \TeX\ point, not a PDF point. - -\example The annotation in this subsection -was typeset with -\begintt -\special{pdf: ann width 3.0in height 36pt - << /Type /Annot /Subtype /Text - /Contents (This is a /Text Annotation - that looks like a sticky note.) >>} -\endtt - -\subsection{Begin Annotation} -\syntax -{\tt beginann} {\it PDF\_dictionary} -\description -The |beginann| (|bann| or |bannot|) command begins a breakable annotation. -Dvipdfm tries to determine the boundaries of the annotation automatically. -Such an annotation may be broken over several lines (or even several pages). -Unlike |annot|, the annotation may be not be referred to by name later, -since there may be more than once instances of the annotation. -The |beginann| command needs not dimension because |dvipdfm| -computes the correct bounding box on the fly. - -Note: Link breaking is easily fooled at page breaks. If you have problems -with the header or footer wanting to become part of the link, you can -insert a |nolink| command at the beginning of the footer and a |link| -command at the end of the footer. - -\subsection{End Annotation} -\syntax -{\tt endann} -\description -The |endann| (|eann| or |eannot|) terminates a breakable annotation. - -\subsection{Link} -{\tt link} -\description -The |link| command instructs the link breaking algorithm to resume its -operation after a |nolink| command. - -\subsection{Nolink} -{\tt nolink} -\description -The |nolink| command instructs the link breaking algorithm to suspend -it operation. This is only required if there is material inserted -on the page in the {\it middle} of a link. For example, when a link -is broken at the end of a page, the header and footer are inserted -in the middle of the link, but are not part of the link. Material -that is inserted between a |nolink| and |link| will not become -part of the link. The |nolink| and |link| escapes are not necessary -with the standard LaTeX header and footer lines, but may become necessary -if these are changed. - -\subsection{Dest} -\syntax -{\tt dest} {\it PDF\_String} {\it PDF\_Dest} -\description -The |dest| command defines a named destination. -The {\it PDF\_String} is a PDF string naming -the destination. This string may be used in the destination -fields of annotations and outline entries to refer to -this destination. {\it PDF\_Dest} is a PDF -destination object (typically an array). -\example -\begintt -\special{pdf: dest (listofreferences) [ @thispage /FitH @ypos ]} -\endtt - -\subsection{Docinfo} -\syntax -{\tt docinfo} {\it PDF\_dictionary} -\description -The |docinfo| command adds the keys in the specified dictionary to the -document's |/Info| dictionary. All keys are optional, but may include -the keys |/Author|, |/Title|, |/Keywords|, |/Subject|, -and |/Creator|. -\example -\begintt -\special{pdf: docinfo << /Author (Mark A. Wicks) - /Title (This Document) >>} -\endtt - -\subsection{Docview} -\syntax -{\tt docview} {\it PDF\_dictionary} -\description -The |docview| command adds the keys in the specified dictionary to the -document's |/Catalog| dictionary. All keys are optional, but may include -the keys |/PageMode|, -|/URI|, |/OpenAction|, |/AA| -and |/ViewerPreferences|. See the PDF Reference Manual -for documentation of these keys and additional keys. -\example -\begintt -\special{pdf: docview << /PageMode /UseThumbs >> } -\endtt - - -\subsection{Object} -\syntax -{\tt object} [@{\it name}] {\it PDF\_Object} -\description -The |object| (also |obj|) command creates a -PDF object. The parameter {\it PDF\_Object} is any valid PDF object. The -parameter {\it name} may be used to provide an indirect reference -to this object within other -objects. It will be expanded anywhere within -a {\tt special} where a PDF object is -expected. Typically {\it object} is an array -or dictionary. It may be an empty array or -dictionary that can be constructed dynamically via -the {\tt put} command. -\example -\begintt -\special{pdf: object @mydict << /Firstpage @thispage >>} -\endtt - -\subsection{Out} -\syntax -{\tt out} {\it number} {\it PDF\_dictionary} - -\description -The |out| (also |outline|) command adds an outline (also called a ``bookmark'') entry -to the document. -The parameter {\it level\/} is an integer representing the -level of the outline entry (beginning with 1) and -{\it PDF\_dictionary\/} must contain -the two keys {\tt /Title} and either {\tt /Dest} or {\tt /A}. -It may also contain the {\tt /AA} key. These keys are documented -in the PDF Reference Manual. -\example -\begintt -out 1 << /Title (Section 1) /Dest [ @thispage /FitH @ypos ] >> -\endtt -which may be followed by -\begintt -out 2 << /Title (Section 1.1) /Dest [ @thispage /FitH @ypos ] >> -\endtt -\note -You may not skip levels. A level~2 outline entry -must follow a level~1 outline -entry. A level~3 outline entry must follow a level~2 outline -and cannot immediately follow a level 1 outline entry. - -\subsection{Pagesize} -\syntax -{\tt pagesize} {\it dimension}+ -\description -The |pagesize| command specifies the document's physical -paper size. The |pagesize| command must be specified on -the first page and must precede the first annotation -or background color specification on the page. -In other words, it should occur as close to the -beginning of the document as possible. -\example -\begintt -pagesize width 11.0truein height 8.5truein -\endtt - -\subsection{Put} -\syntax -\beginlist -{\tt put} @{\it name} {\it PDF\_Object}+ -\endlist -or -\beginlist -{\tt put} @{\it name} {\it PDF\_Dictionary} -\endlist -\description -The |put| command modifies an existing PDF object created with |obj|, -or one of the following internally defined objects: |@catalog|, -|@names|, |@pages|, |@thispage|, or |@resources|. -The first form is used when @{\it name} is an array. The second -form is used when @{\tt name} is a dictionary. More than -one object may be added to an array at once. -All keys in {\it PDF\_Dictionary} -are added to the dictionary represented by @{\it name}. -\example -\begintt -\special{pdf: put @mydict << /Nextpage @thispage >>} -\endtt - -\subsection{Thread} -\syntax -{\tt thread} {\tt @}{\it name} {\it dimension}+ [ {\it PDF\_dictionary} ] - -\description -The |thread| (or |art|) command adds a bead to an article. -An article is a collection of boxed regions in the document that should be -read consecutively. -Each bead using the same {\it name} belongs to the same article. -The {\it name} parameter is required. The {\it dimension} parameter -defined the rectangular area belonging to the bead in -the same manner as for |annot|. -The optional PDF dictionary -should supplied on one of the beads. Its keys are -similar to the |/Info| dictionary accessed via the |docinfo| command -and would typically include the |/Title| and |/Author| keys. -Keys in the dictionary may be overwritten by subsequent {\tt thread} commands. -\example -\begintt -\special {pdf: thread @somearticle << /Title (Some title) - /Author (Me) >>} -\endtt - -\subsection{Close} -\syntax -{\tt close} @{\it name} -\description -The |close| writes the named PDF object created with |obj| to the PDF file. -No further |put| commands may be executed for this object. -The object may continue to be referenced using @{\it name} -indefinitely. If the object is never closed, it will -be closed when |dvipdfm| finishes processing the document. - -\section{Form XObjects} -The PDF specification allows an object to be stored once -and displayed at multiple locations throughout the document. -The following commands give access to this facility. - -\subsection{Beginxobj} -\syntax -{\tt beginxobj} @{\it name} {\it dimension}+ -\description -The |beginxobj| (or |bxobj|) command begins the definition of -a Form XObject. All material typeset between the -|beginxobj| and |endxobj| commands will be captured -into the XObject. The material can be displayed later -at an arbitrary location with the |usexobj| command. -The {\it name} may be used to refer to the object later, -either via the |usexobj| command or as an indirect -reference to the XObject if {\it name} is -used within the context of a {\it PDF\_Object}.. -The required {\it dimension} identifies the extent -(i.e., bounding box) of the area to be captured. -It is specified in the same way as for |annot|. - -The material will not display during the object definition. -In other words, if you are typsetting with \TeX\ you -should place the XObject in a box of dimension 0 so -you don't leave a white space hole where the object was -defined. -\example -\begintt -bxobj @myform width 2.0in height 24pt -\endtt - -\subsection{Endxobj} -\syntax -{\tt endxobj} -\description -The |endxobj| (or |exobj|) command ends the previous -|beginxobj| definition. Note that XObject definitions -may not be nested. XObjects can be {\it used} within -other XObjects, however. -\example -\begintt -exobj -\endtt - -\subsection{Usexobj} -\syntax -{\tt usexobj} @{\it name} -\description -The |usexobj| (or |uxobj|) command displays the -form XObject previously defined and -associated with {\it name}. -\example -\begintt -uxobj @myform -\endtt - -\section{Text Transformation Commands} -The commands in this section deal with transformation -of arbitrary material, which may include -material typeset by \TeX. These -may also be used on included graphics images -if the commands in Section~8 won't do the job. - -\subsection{BeginTransform} -\syntax -{\tt begintransform} {\it transformation}+ - -\description -The |begintransform| (|btrans| or |bt|) applies -the specified transformation to all subsequent text. -The scaling is applied first, followed by the rotation. -The reference point of a box following -the |\special| remains fixed. Such transformations -may be nested to perform rotations within rotated text, for exmaple. - -\example -\begintt -\special{pdf: bt rotate 90 xscale 2.0 } -\endtt - -\subsection{BeginTransform} -\syntax -{\tt endtransform} -\description -The |endtransform| (|etrans| or |et|) concludes -the action of the immediately preceding |begintransform| -command. All transformations must be closed -on the same page. The driver will close -any pending unclosed transformations at the -end of the page and issue a warning message. -All material to be transformed -should probably be enclosed in a single box -to prevent any break. -\example -\begintt -\special{pdf: et} -\endtt - - -\section{Color Commands} -The commands in this section deal with manipulation of the color -stack. - -\subsection{Setcolor} -\syntax -{\tt setcolor} {\it PDF\_Number$\vert$\it PDF\_Array} -\description -The |setcolor| (|scolor| or |sc|) command uses its -argument to set the default color for future marking operators. -The current color is replaced and may be retrieved -only by a subsequent |setcolor| command. The argument -may be a single number, which is interpreted as a grayscale -value; a three element array, which is interpreted as an RGB -color space coordinate; or a four element array, which -is interpreted as a CMYK color space coordinate. -\example -\begintt -\special{ pdf: sc [ 1 0 0 ] } -\endtt - -\subsection{Begincolor} -\syntax -{\tt begincolor} {\it PDF\_Number$\vert$\it PDF\_Array} -\description -The |begincolor| (|bcolor| or |bc|) command uses its -argument to set the default color for future marking operators. -The current color is pushed on the color stack. The argument -may be a single number, which is interpreted as a grayscale -value; a three element array, which is interpreted as an RGB -color space coordinate; or a four element array, which -is interpreted as a CMYK color space coordinate. -\example -\begintt -\special{ pdf: bc [ 1 0 0 ] } -\endtt - -\subsection{Endcolor} -\syntax -{\tt endcolor} -\description -The |endcolor| (|ecolor| or |ec|) -changes the default color to -match the color on the top -of the stack. It removes -the color from the stack. -\example -\begintt -\special{ pdf: ec } -\endtt - -\subsection{Bgcolor} -\syntax -{\tt bgcolor} {\it PDF\_Number$\vert$\it PDF\_Array} -\description -The |bgcolor| (|bbc| or |bgc|) command uses the value -of its argument to set the default color for the page -background. The interpretation -fo the argument is the same as for the |begincolor| command. -The stack is not involved here. There is no way -to go back to the previous background color. -\example -\begintt -\special{ pdf: bc [ 1 0 0 ] } -\endtt - -\section{Image Commands} -The commands in this section deal with embedding -graphics into your PDF document. The present -driver supports PDF, PNG, and JPEG graphics inclusion. - -\subsection{Epdf} -\syntax -{\tt epdf} [|@|{\it name}] [{\it dimension}$\vert${\it transformation}]* {\it PDF\_String} - -\description -The {\tt epdf} command ``encapsulates'' the first page of a PDF -file named by {\it PDF\_String} -into a PDF XObject. The resulting XObject is drawn -with the lower left corner at the current location of the page. -The optional @{\it name} parameter may be used -to reference this object within other objects. If a -{\it dimension} is supplied, the object will be scaled to fit -that dimension. A {\it transformation} consists of one of the keywords -|scale|, |xscale|, |yscale|, or |rotate| -followed by a number representing -the scaling factor or rotation angle in degrees. Both {\it transformation} and {\it dimension} -parameters can be supplied as long as they are not logically -inconsistent. - -Note: The object is stored as an XObject and can be redisplayed later by using the -|usexobj| function and specifying {\it name}. - -\example -\begintt -\special{pdf:epdf yscale 0.50 width 4.0in - rotate 45 (circuit.pdf)} -\endtt - -\subsection{Image} -\syntax -{\tt image} [@{\it name}] [{\it dimension} $\vert$ {\it transformation}]* {\it PDF\_String} - -\description -The {\tt image} command ``encapsulates'' an image -taken from the file named by {\it PDF\_String}. -This command functions just like |epdf|. Value -image types may be PDF, JPEG, or PNG images. -This special will eventually replace the |epdf| special. - -Note: The object is stored as an XObject and can be redisplayed later by using the -|usexobj| function and specifying {\it name}. - -\section{Raw Page Marking Commands} -The commands in this section deal with embedding -raw PDF graphics operators into your PDF document. - -\subsection{Bop} -\syntax -{\tt bop} {\it stream} -\description -The |bop| command specifies a marking -stream to be generated at the top of each page. -The parameter {\it stream} is any sequence -of marking operators and is added to the page's content stream. -The stream is applied {\it to all pages} regardless -of where it appears in the document. -\example The two horizontal lines appearing -at the top of each page in this document -were set with -\begintt -\special {pdf: bop q 0 w 0.8 0.5 0 RG - 54 740 m 504 740 l 504 740.25 l 54 740.25 l b - 36 760 m 504 760 l 504 760.25 l 36 760.25 l b Q } -\endtt -\special {pdf: bop q 0 w 0.8 0.5 0 RG - 54 740 m 504 740 l 504 740.25 l 54 740.25 l b - 36 760 m 504 760 l 504 760.25 l 36 760.25 l b Q } - -\subsection{Content} -\syntax -{\tt content} {\it stream} -\description -The |content| command specifies a marking -stream to be added to the current page at -the current location. While it -is possible to change the color -state, etc., with this command, it is -not advised. Use the color management -commands to change colors. - - -\subsection{Eop} -\syntax -\beginlist -{\tt eop} {\it stream} -\endlist -\description -The {\tt eop} specifies a marking stream to be generated at the end -of each page. The parameter {\it stream} is any sequence -of marking operators and is added to the page's content stream. -The stream is applied {\it to all pages} regardless -of where it appears in the document. - -\section{Graphics Examples} - -The examples in this section illustrate some of the transformation -and image inclusion capabilities of \dvipdfm. - -\dest{textxform} -\subsection{Text Transformation} -Tables with slanted entries are possible as shown -in \link{Table~3}{rotatedtable}. This table was achieved using -various ``|bt rotate 35|'' commands. - -The following line of text was done with nested -combinations of ``|bt rotate 10|'' and ``|bt rotate -10|''. - -\def\up#1{\special{pdf:bt rotate 10}\hbox{#1}} -\def\down#1{\special{pdf:bt rotate -10}\hbox{#1}} -You \down{can} nest \down{the} \up{text} -trans\up{form}ation \up{capa}\down{bili}ties \down{to} -achieve \down{effects} \down{like} -{this}. -\special{pdf:et}\special{pdf:et}\special{pdf:et}\special{pdf:et} -\special{pdf:et}\special{pdf:et}\special{pdf:et}\special{pdf:et} -\special{pdf:et} -\vskip 0.5in - - -\def\rvr{\colored{\red}{\vrule}}\def\entry#1{\special{pdf:bt rotate 35}% -{\vbox to 0pt{\vss\hbox{\quad\colored{\blue}{#1}\quad}\vskip 1pt\colored{\red}{\hrule}}\special{pdf:et}}} -\topinsert -\dest{rotatedtable} -\bigskip -\centerline{\colored{\blue}{\subheadingfont Table 3---Example of rotated -text set in Computer Modern Roman}} -\bigskip -\centerline{\vbox to 0.45in{\vss\offinterlineskip\halign{#&#&#&#&#&#\cr -\entry{1994}& -\entry{1995}& -\entry{1996}& -\entry{1997}& -\entry{1998}& -\entry{1999}\cr -\noalign{\colored{\red}{\hrule}} -\strut\rvr&\rvr&\rvr&\rvr&\rvr&\rvr\crcr}}} -\bigskip -\endinsert - -\dest{imageinclude} -\subsection{Image Inclusion} - -The image in \link{Figure~1}{jpegimage} was included from a JPEG file. -The image shown in \link{Figure~2}{rotatedimage} comes from the same file, -but is loaded at a 50\% scale and a 45$^\circ$ rotation. - -\topinsert -\dest{jpegimage} -\bigskip -\centerline{\reserve{1.50in}{2.05in}{pdf: image (mwicks.jpeg)}} -\medskip -\centerline{\subheadingfont -\begincolor{\blue}Figure~1---A JPEG image of the author.\endcolor} -\bigskip -\endinsert - -\topinsert -\dest{rotatedimage} -\bigskip -\centerline{\reserve{0.75in}{1.25in}{pdf: image rotate 45 scale 0.50 (mwicks.jpeg)}} -\medskip -\centerline{\subheadingfont -\begincolor{\blue}Figure~2---Image of the author scaled by 0.5 and rotated -by 45$^\circ$.% -\endcolor} -\bigskip -\endinsert - -By default, JPEG files are included -at a resolution of 100dpi so if you know the pixel size -of the image, you know how much space to reserve. -Any \TeX\ magnification is applied to the image -in addition to any scaling defined in the |\special|. -For example, this document sets |\magnification=\magstephalf|, -so the images are actually scaled by 1.095. The first -image in this section has a printed width of 1.643in -even though 1.50in was specified in the |\special|. - -Several command line utilities exist that read -the pixel dimensions of a JPEG file. For PDF files, -you can |grep| on |/MediaBox| to get an indication -of the image size. The |/MediaBox| dimensions are -in PDF points. - -The image in \link{Figure~3}{pdfimage} was produced by embedding a PDF file -using |epdf|. - -\topinsert -\dest{pdfimage} -\centerline{\reserve{2.41in}{2.6in}{pdf: epdf width 2.41in (transistor.pdf)}} -\medskip\centerline{\subheadingfont -\begincolor{\blue}Figure~3---An embedded PDF object. -\endcolor} -\endinsert -Notice that any resources required for the object -are also embedded. In this case, the Times Roman font -resource was embedded along with the content stream. - -\dest{thumbnails}\section{Thumbnails} -Thumbnails can be inserted automatically by |dvipdfm| -using the |-t| command line option. However, |dvipdfm| -is unable to generate the thumbnails by itself. This -must be done by some other program such as GhostScript. -The typical two-pass process to include thumbnails would be -\item{1.} -Run |dvipdfm| without the |-t| option (probably -using command line options optimized for speed and not space) -\item{2.} -Run GhostScript to generate the thumbnail images of -each page. -\item{3.} -Run |dvipdfm| with the |-t| or |-dt| option. - -The |dvipdfm| distribution includes a sample -shell script called |dvipdft| which is a wrapper -for |dvipdfm| that generates thumbnails. - -|Dvipdfm| searches for the thumbnail images -in the directory specified by the TMP or TEMP -environment variables, or in the current directory. -The thumbnails must have the same base name as the PDF output -file with an extension indicating the number of the page. -For example, to create a thumbnailed document named |foo.pdf| -you would need to generate thumbnail images in files named -|foo.1|, |foo.2|, etc. - -\dest{fontmap}\section{Font Mapping} -\TeX\ font names can be -mapped into arbitrary physical (PostScript) font names via -the map file named |t1fonts.map|. The file is -similar to the |psfonts.map| file used by |dvips| -and other drivers. Each line in the -file consists of one to three fields delimited -by white space, followed by options that apply to that font. -The complete list of recognized options -appears in \link{Table~4}{options}. - -Sample map file lines are\nobreak -\begintt -cmr10 ot1 -r -ptmro8r 8r Times-Roman -s 0.167 -pncbo8r 8r pncb8a -s 0.167 -\endtt - -The first field of each line -is the \TeX\ font name. The second -field, which is optional, is the encoding name (|.enc| will -be appended to this name, if necessary -to locate an encoding file). The -encoding files have the same format -as those used for |dvips|. -The third optional field is {\it either} the PostScript font -name (if one of the standard PostScript fonts) {\it or} -the file name of a Type~1 binary font file (PFB file). -The {}.pfb extension is assumed by the program. -three fields. If the encoding field is unspecified, -|dvipdfm| used the default encoding supplied with -the Type~1 font. If the name field is unspecified, -|dvipdfm| looks for a Type~1 binary font file -having the same name as the \TeX\ font name. -If there is {\it no} line in the map file, -the behavior is as if a line was specified -without the second or third field. -The keywords |default| or |none| are -recognized in the encoding field so that -a third field may be specified while still -having default behavior in the second field. - -Currently, three options may be specified for each font -as shown in \link{Table~4}{options}. -\topinsert -{\dest{options}} -\centerline{\colored{\blue}{\subheadingfont Table~4---Font options -recognized by |dvipdfm| in the font map file}} -\bigskip\nobreak -\centerline{\vbox{\halign{{\tt #}\hskip -1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr -\omit\hfil\it Option\hfil&\omit\hfil \it Description \hfil\cr -\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} --r&{\it Remap the font to eliminate control characters.} This -option attempts to work around bugs in Acrobat reader that seem -to be triggered by characters that are encoded in certain positions. -Unfortunately, standard \TeX encodings normally use these positions.\cr -\noalign{\smallskip} --e {\it number}&{\it Extend the font horizontally, multiplying the natural -width of the font by the specified number.} This is useful -for generating new fonts by widening existing fonts.\cr -\noalign{\smallskip} --s {\it number}&{\it Slant the font using the specified number}. -This option is useful for building a slanted fonts from a font -for which there is no slanted font.\cr}}} -\endinsert - -\section{Configuration file} -{\dest{configuration}}Dvipdfm reads default command line options, such -as paper size, from a configuration -file contained in the |dvipdfm| directory of the TeX tree. -The format of this file is similar to the |dvips| file configuration -file format. Each line consists of a single command line switch -followed by any arguments. See the configuration file supplied -with the |dvipdfm| distribution for examples. - -\section{Including PostScript graphics images} -{\dest{postscript}}Dvipdfm provides support for illustrations -contained in external PostScript files. -It recognizes two distinct kinds of PostScript files---those -created by MetaPost and everything else. - -MetaPost -files output only a subset of PostScript and -are interpreted {\it natively} by |dvipdfm| -with its own internal minimal PostScript interpreter. -Also, MetaPost output files contain \TeX\ font information in their header -comments, so that they can be easily integrated with \TeX\ by DVI -drivers. Dvipdfm recognizes this font information and uses the \TeX\ -fonts defined in the MetaPost header. - - -All other PostScript files require an external -program to convert the image to PDF format before -|dvipdfm| can include the image. -The freely available GhostScript is capabable of performing this conversion -for most images. - -The user must specify the command line required -to invoke an external program to perform this conversion. -The command line required to invoke the conversion -program is specified using the |-D| command -line (or configuration file) option. The string passed to the |-D| command -line option is a C-style string that is parsed by |dvipdfm|. Within the string, -expansions are performed as described in \link{Table~5}{expansion}. -For example, to use GhostScript, one might use the -command line - -\bigskip - -{\tt -D "cat \%i \vrule\ gs -q -sDEVICE=pdfwrite -sOutputFile=\%o - -c quit" } - - -\topinsert -{\dest{expansion}} -\centerline{\colored{\blue}{\subheadingfont Table~5---Expansions -performed in the -D string.}} -\bigskip\nobreak -\centerline{\vbox{\halign{{\hfil\tt #\hfil}\hskip -1em\strut&\vtop{\leftskip0pt\rightskip0pt\hsize=3.5in\noindent #}\cr -\omit\hfil\it Variable\hfil&\omit\hfil \it Description \hfil\cr -\noalign{\smallskip\begincolor\red\hrule\endcolor\smallskip} -\%i&{\it Expanded to the full path of the EPS file to be included}\cr -\noalign{\smallskip} -\%o&{\it Expanded to the full path name of the PDF file to be -generated}. The command line must be able to create a file -with the name supplied by dvipdfm.\cr -\noalign{\smallskip} -\%b&{\it Expanded to the ``basename'' of the EPS file that is being included.} -The ``basename'' is the full path of the EPS file with the -last ``.'' and any trailing name extension removed.\cr -}}} -\endinsert - -\section{Compatibility with other DVI drivers} -Compatibility with other DVI drivers is achieved -by support for the following ``standard'' special calls. -Many legacy DVI files can be processed by |dvipdfm|, -so long as they use fairly standard special commands. -For example, |dvipdfm| can process DVI files generated -that use the -|\color|, |\rotatebox|, and |\includegraphics| macros -from the standard La\TeX\ Graphics bundle even if |dvips| was the target DVI driver, -e.g., - -\begintt -\usepackage[dvips]{graphics} -\usepackage[dvips]{color} -\endtt - -Specifically, |dvipdfm| understands the following standard special commands: - -\beginlist -\item{$\bullet$} The TPIC specials. - -\item{$\bullet$} The HyperTeX (HTML) hyperlink specials. - -\item{$\bullet$} The ``color'' specials supported by |dvips| and -other drivers. - -\item{$\bullet$} The ``PSfile'' and ``plotfile'' specials for PS/EPS file inclusion -supported by |dvips| and other drivers. Dvipdfm uses a user-specified -external program to convert the PostScript file to PDF format -before including it. - -\item{$\bullet$} The raw PostScript ``ps:'' special supported by |dvips| and -other drivers. Only a few PostScript operators are supported; -|dvipdfm| does not include a complete PostScript interpreter. -Complex PostScript code, such as that embedded by the PSTricks -package, is not supported. -\endlist - -\section{LaTeX Support and Ebb} -Support for the La\TeX\ graphics bundle and |hyperref| -are available. A driver file named |dvipdfm.def| -is distributed with the standard La\TeX -graphics bundle. The latest version -of the |dvipdfm.def| file is supplied -with the |dvipdfm| distribution. -The file required for |hyperref| -support is called |hdvipdfm.def|. - -To facilitate La\TeX\ support, I distribute a companion program -called |ebb|, which extracts bounding boxes from graphics files. If -you want to include JPEG, PNG, or PDF files in your document, you can run -|ebb| on the JPEG, PNG, or PDF file to create the |.bb| files. -The bounding box file will be similarly named with an extension of |.bb|. -For DOS 8+3 compatibility, an original file name extension -of |.jpg|, |.png|, or |.pdf| is removed before creating the name of -the |.bb| file. An extension of |.jpeg| is also recognized and similarly removed. - -\newpage -\section{References} -\tolerance=1000\hbadness=1000 -\bibitem\dest{pdfmanual}{\it Portable Document -Format Reference Manual}, Version 1.2, Adobe Systems Incorporated, 1996. -Available at the following URL: {\tt http://www.adobe.com}. - -\bibitem\dest{pdfprimer}Thomas Merz, -{\it Web Publishing with Acrobat/PDF}, -Springer-Verlag, 1997, ISBN 3-540-63762-1. Chapter~6 of this book is available -at the URL: |http://http://www.ifconnection.de/~tm|. - -\bibitem\dest{acrotex}D. P. Story, {\it AcroTeX}, The AcroTeX home page -is located at the URL: |http://www.math.uakron.edu/~dpstory/acrotex.html|. - -\bye diff --git a/Build/source/texk/dvipdfm/doc/mwicks.bb b/Build/source/texk/dvipdfm/doc/mwicks.bb deleted file mode 100644 index b02ebbd4b84..00000000000 --- a/Build/source/texk/dvipdfm/doc/mwicks.bb +++ /dev/null @@ -1,5 +0,0 @@ -%%Title: ./mwicks.jpeg -%%Creator: ebb Version 0.5.2 -%%BoundingBox: 0 0 108 148 -%%CreationDate: Thu Oct 19 15:55:34 2000 - diff --git a/Build/source/texk/dvipdfm/doc/mwicks.jpeg b/Build/source/texk/dvipdfm/doc/mwicks.jpeg Binary files differdeleted file mode 100644 index 5312aab5fc4..00000000000 --- a/Build/source/texk/dvipdfm/doc/mwicks.jpeg +++ /dev/null diff --git a/Build/source/texk/dvipdfm/doc/transistor.bb b/Build/source/texk/dvipdfm/doc/transistor.bb deleted file mode 100644 index 432d4debfeb..00000000000 --- a/Build/source/texk/dvipdfm/doc/transistor.bb +++ /dev/null @@ -1,5 +0,0 @@ -%%Title: ./transistor.pdf -%%Creator: ebb Version 0.5.2 -%%BoundingBox: 0 0 174 197 -%%CreationDate: Thu Oct 19 15:55:18 2000 - diff --git a/Build/source/texk/dvipdfm/doc/transistor.eps b/Build/source/texk/dvipdfm/doc/transistor.eps deleted file mode 100644 index 0398ac9e286..00000000000 --- a/Build/source/texk/dvipdfm/doc/transistor.eps +++ /dev/null @@ -1,316 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: transistor.eps -%%Creator: fig2dev Version 3.2 Patchlevel 0-beta3 -%%CreationDate: Thu Nov 19 14:25:40 1998 -%%For: mwicks@odo.kettering.edu (Mark A. Wicks,2-943,(810) 762-7992,(810) 655-4682,) -%%Orientation: Portrait -%%BoundingBox: 0 0 174 197 -%%Pages: 0 -%%BeginSetup -%%EndSetup -%%Magnification: 0.5000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --56.0 205.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/reencdict 12 dict def /ReEncode { reencdict begin -/newcodesandnames exch def /newfontname exch def /basefontname exch def -/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def -basefontdict { exch dup /FID ne { dup /Encoding eq -{ exch dup length array copy newfont 3 1 roll put } -{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall -newfont /FontName newfontname put newcodesandnames aload pop -128 1 255 { newfont /Encoding get exch /.notdef put } for -newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat -newfontname newfont definefont pop end } def -/isovec [ -8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde -8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis -8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron -8#220 /dotlessi 8#230 /oe 8#231 /OE -8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling -8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis -8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot -8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus -8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph -8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine -8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf -8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute -8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring -8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute -8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute -8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve -8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply -8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex -8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave -8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring -8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute -8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute -8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve -8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide -8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex -8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def -/Times-Roman /Times-Roman-iso isovec ReEncode - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n -1000 7825 m -1000 -1000 l 8665 -1000 l 8665 7825 l cp clip - 0.03000 0.03000 sc -% Polyline -45.000 slw -n 6300 2700 m 6300 3300 l gs col-1 s gr -% Polyline -30.000 slw -n 6300 2850 m 6600 2700 l gs col-1 s gr -% Polyline -gs clippath -6520 3233 m 6563 3279 l 6500 3273 l 6642 3343 l 6662 3303 l cp -clip -n 6300 3150 m 6612 3303 l gs col-1 s gr gr - -% arrowhead -n 6520 3233 m 6563 3279 l 6500 3273 l 6510 3253 l 6520 3233 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -45.000 slw -n 4500 3525 m 4500 4125 l gs col-1 s gr -% Polyline -30.000 slw -n 4500 3675 m 4800 3525 l gs col-1 s gr -% Polyline -gs clippath -4720 4058 m 4763 4104 l 4700 4098 l 4842 4168 l 4862 4128 l cp -clip -n 4500 3975 m 4812 4128 l gs col-1 s gr gr - -% arrowhead -n 4720 4058 m 4763 4104 l 4700 4098 l 4710 4078 l 4720 4058 l cp gs 0.00 setgray ef gr col-1 s -15.000 slw -% Ellipse -n 2025 3825 75 75 0 360 DrawEllipse gs col0 s gr - -% Ellipse -n 7575 3900 75 75 0 360 DrawEllipse gs col0 s gr - -% Polyline -n 4800 2550 m 4800 3525 l gs col-1 s gr -% Polyline -30.000 slw -n 4800 1950 m 4916 1995 l 4674 2120 l 4918 2246 l 4672 2368 l 4916 2492 l - 4798 2546 l gs col-1 s gr -% Polyline -15.000 slw -gs clippath -2940 942 m 3000 654 l 3060 942 l 3060 570 l 2940 570 l cp -clip -n 3000 1950 m 3000 600 l gs col0 s gr gr - -% arrowhead -n 2940 942 m 3000 654 l 3060 942 l 3000 894 l 2940 942 l cp gs 0.00 setgray ef gr col0 s -% Polyline -30.000 slw -n 3002 1954 m 3118 1999 l 2876 2124 l 3120 2250 l 2874 2372 l 3118 2496 l - 3000 2550 l gs col-1 s gr -% Polyline -15.000 slw -gs clippath -4740 942 m 4800 654 l 4860 942 l 4860 570 l 4740 570 l cp -clip -n 4800 1950 m 4800 600 l gs col-1 s gr gr - -% arrowhead -n 4740 942 m 4800 654 l 4860 942 l 4800 894 l 4740 942 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -n 4800 3000 m 6300 3000 l gs col0 s gr -% Polyline -n 3000 2550 m 3000 4800 l gs col-1 s gr -% Polyline -n 6600 3300 m 6600 4800 l gs col0 s gr -% Polyline -n 4800 4125 m 4800 4800 l gs col0 s gr -% Polyline -30.000 slw -n 4800 4800 m 4916 4845 l 4674 4970 l 4918 5096 l 4672 5218 l 4916 5342 l - 4798 5396 l gs col-1 s gr -% Polyline -15.000 slw -gs clippath -4860 5958 m 4800 6246 l 4740 5958 l 4740 6330 l 4860 6330 l cp -clip -n 4800 5400 m 4800 6300 l gs col0 s gr gr - -% arrowhead -n 4860 5958 m 4800 6246 l 4740 5958 l 4800 6006 l 4860 5958 l cp gs 0.00 setgray ef gr col0 s -% Polyline -30.000 slw -n 3001 4806 m 3117 4851 l 2875 4976 l 3119 5102 l 2873 5224 l 3117 5348 l - 2999 5402 l gs col-1 s gr -% Polyline -15.000 slw -gs clippath -3060 5958 m 3000 6246 l 2940 5958 l 2940 6330 l 3060 6330 l cp -clip -n 3000 5400 m 3000 6300 l gs col0 s gr gr - -% arrowhead -n 3060 5958 m 3000 6246 l 2940 5958 l 3000 6006 l 3060 5958 l cp gs 0.00 setgray ef gr col0 s -% Polyline -n 2100 3825 m 4500 3825 l gs col-1 s gr -% Polyline -30.000 slw -n 6600 4800 m 6716 4845 l 6474 4970 l 6718 5096 l 6472 5218 l 6716 5342 l - 6598 5396 l gs col-1 s gr -% Polyline -15.000 slw -gs clippath -6660 5958 m 6600 6246 l 6540 5958 l 6540 6330 l 6660 6330 l cp -clip -n 6600 5400 m 6600 6300 l gs col0 s gr gr - -% arrowhead -n 6660 5958 m 6600 6246 l 6540 5958 l 6600 6006 l 6660 5958 l cp gs 0.00 setgray ef gr col0 s -% Polyline -n 6600 3900 m 7500 3900 l gs col0 s gr -% Polyline -gs clippath -6540 942 m 6600 654 l 6660 942 l 6660 570 l 6540 570 l cp -clip -n 6600 2700 m 6600 600 l gs col0 s gr gr - -% arrowhead -n 6540 942 m 6600 654 l 6660 942 l 6600 894 l 6540 942 l cp gs 0.00 setgray ef gr col0 s -/Times-Roman-iso ff 360.00 scf sf -1875 3525 m -gs 1 -1 sc (v) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -2280 2100 m -gs 1 -1 sc (R) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4155 2100 m -gs 1 -1 sc (R) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -2550 2250 m -gs 1 -1 sc (a) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -2025 3675 m -gs 1 -1 sc (i) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4350 525 m -gs 1 -1 sc (12 V) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4500 6825 m -gs 1 -1 sc (-12 V) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -7275 3525 m -gs 1 -1 sc (v) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4155 5250 m -gs 1 -1 sc (R) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -2280 5250 m -gs 1 -1 sc (R) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -5880 5250 m -gs 1 -1 sc (R) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -2550 5475 m -gs 1 -1 sc (b) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -6150 5475 m -gs 1 -1 sc (x) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -7425 3675 m -gs 1 -1 sc (o) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4425 2250 m -gs 1 -1 sc (c) col0 sh gr -/Times-Roman-iso ff 360.00 scf sf -4425 5475 m -gs 1 -1 sc (e) col0 sh gr -$F2psEnd -rs diff --git a/Build/source/texk/dvipdfm/doc/transistor.fig b/Build/source/texk/dvipdfm/doc/transistor.fig deleted file mode 100644 index 6a11da3d022..00000000000 --- a/Build/source/texk/dvipdfm/doc/transistor.fig +++ /dev/null @@ -1,94 +0,0 @@ -#FIG 3.2 -Portrait -Center -Inches -Letter -50.00 -Single --2 -1200 2 -6 1875 225 7725 6825 -6 6225 2625 6675 3375 -2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 6300 2700 6300 3300 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 6300 2850 6600 2700 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 - 1 1 3.00 45.00 60.00 - 6300 3150 6612 3303 --6 -6 4425 3450 4875 4200 -2 1 0 4 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 4500 3525 4500 4125 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 4500 3675 4800 3525 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 - 1 1 3.00 45.00 60.00 - 4500 3975 4812 4128 --6 -1 4 0 2 0 0 0 0 -1 0.000 1 0.0000 2025 3825 75 75 1950 3825 2100 3825 -1 4 0 2 0 0 0 0 -1 0.000 1 0.0000 7575 3900 75 75 7500 3900 7650 3900 -2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 4800 2550 4800 3525 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 - 4800 1950 4916 1995 4674 2120 4918 2246 4672 2368 4916 2492 - 4798 2546 -2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 3000 1950 3000 600 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 - 3002 1954 3118 1999 2876 2124 3120 2250 2874 2372 3118 2496 - 3000 2550 -2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 4800 1950 4800 600 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 - 4800 3000 6300 3000 -2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 3000 2550 3000 4800 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 - 6600 3300 6600 4800 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 - 4800 4125 4800 4800 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 - 4800 4800 4916 4845 4674 4970 4918 5096 4672 5218 4916 5342 - 4798 5396 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 4800 5400 4800 6300 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 - 3001 4806 3117 4851 2875 4976 3119 5102 2873 5224 3117 5348 - 2999 5402 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 3000 5400 3000 6300 -2 1 0 2 -1 7 0 0 -1 0.000 0 0 -1 0 0 2 - 2100 3825 4500 3825 -2 1 0 3 -1 7 0 0 -1 0.000 0 0 -1 0 0 7 - 6600 4800 6716 4845 6474 4970 6718 5096 6472 5218 6716 5342 - 6598 5396 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 6600 5400 6600 6300 -2 1 0 2 0 7 0 0 -1 6.000 0 0 -1 0 0 2 - 6600 3900 7500 3900 -2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 1 0 2 - 2 1 2.00 120.00 240.00 - 6600 2700 6600 600 -4 0 0 0 0 0 24 0.0000 4 180 165 1875 3525 v\001 -4 0 0 0 0 0 24 0.0000 4 255 240 2280 2100 R\001 -4 0 0 0 0 0 24 0.0000 4 255 240 4155 2100 R\001 -4 0 0 0 0 0 24 0.0000 4 180 165 2550 2250 a\001 -4 0 0 0 0 0 24 0.0000 4 255 90 2025 3675 i\001 -4 0 0 0 0 0 24 0.0000 4 255 705 4350 525 12 V\001 -4 0 0 0 0 0 24 0.0000 4 255 915 4500 6825 -12 V\001 -4 0 0 0 0 0 24 0.0000 4 180 165 7275 3525 v\001 -4 0 0 0 0 0 24 0.0000 4 255 240 4155 5250 R\001 -4 0 0 0 0 0 24 0.0000 4 255 240 2280 5250 R\001 -4 0 0 0 0 0 24 0.0000 4 255 240 5880 5250 R\001 -4 0 0 0 0 0 24 0.0000 4 255 180 2550 5475 b\001 -4 0 0 0 0 0 24 0.0000 4 180 195 6150 5475 x\001 -4 0 0 0 0 0 24 0.0000 4 180 180 7425 3675 o\001 -4 0 0 0 0 0 24 0.0000 4 180 165 4425 2250 c\001 -4 0 0 0 0 0 24 0.0000 4 180 165 4425 5475 e\001 --6 diff --git a/Build/source/texk/dvipdfm/doc/transistor.pdf b/Build/source/texk/dvipdfm/doc/transistor.pdf deleted file mode 100644 index c155b964637..00000000000 --- a/Build/source/texk/dvipdfm/doc/transistor.pdf +++ /dev/null @@ -1,473 +0,0 @@ -%PDF-1.2 -%Çì¢ -4 0 obj -<</Length 5 0 R>> -stream -0.1 0 0 0.1 0 0 cm -q -1 i -13.5 w -1330 1240 m -1330 1060 l -S -9 w -1330 1195 m -1420 1240 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -1396 1080.1 m -1408.9 1066.3 l -1390 1068.1 l -1432.6 1047.1 l -1438.6 1059.1 l -h -n -1 i -9 w -1330 1105 m -1423.6 1059.1 l -S -Q -q -1 i -1396 1080.1 m -1408.9 1066.3 l -1390 1068.1 l -1393 1074.1 l -1396 1080.1 l -f* -9 w -1396 1080.1 m -1408.9 1066.3 l -1390 1068.1 l -1393 1074.1 l -1396 1080.1 l -h -S -13.5 w -790 992.5 m -790 812.5 l -S -9 w -790 947.5 m -880 992.5 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -856 832.6 m -868.9 818.8 l -850 820.6 l -892.6 799.6 l -898.6 811.6 l -h -n -1 i -9 w -790 857.5 m -883.6 811.6 l -S -Q -q -1 i -856 832.6 m -868.9 818.8 l -850 820.6 l -853 826.6 l -856 832.6 l -f* -9 w -856 832.6 m -868.9 818.8 l -850 820.6 l -853 826.6 l -856 832.6 l -h -S -4.5 w -69.9995 902.5 m -69.9995 890.074 59.926 880 47.4998 880 c -35.0735 880 25 890.074 25 902.5 c -25 914.926 35.0735 925 47.4998 925 c -59.926 925 69.9995 914.926 69.9995 902.5 c -h -S -1735 880 m -1735 867.574 1724.93 857.5 1712.5 857.5 c -1700.07 857.5 1690 867.574 1690 880 c -1690 892.426 1700.07 902.5 1712.5 902.5 c -1724.93 902.5 1735 892.426 1735 880 c -h -S -880 1285 m -880 992.5 l -S -9 w -880 1465 m -914.8 1451.5 l -842.2 1414 l -915.4 1376.2 l -841.6 1339.6 l -914.8 1302.4 l -879.4 1286.2 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -322 1767.4 m -340 1853.8 l -358 1767.4 l -358 1879 l -322 1879 l -h -n -1 i -4.5 w -340 1465 m -340 1870 l -S -Q -q -1 i -322 1767.4 m -340 1853.8 l -358 1767.4 l -340 1781.8 l -322 1767.4 l -f* -4.5 w -322 1767.4 m -340 1853.8 l -358 1767.4 l -340 1781.8 l -322 1767.4 l -h -S -9 w -340.6 1463.8 m -375.4 1450.3 l -302.8 1412.8 l -376 1375 l -302.2 1338.4 l -375.4 1301.2 l -340 1285 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -862 1767.4 m -880 1853.8 l -898 1767.4 l -898 1879 l -862 1879 l -h -n -1 i -4.5 w -880 1465 m -880 1870 l -S -Q -q -1 i -862 1767.4 m -880 1853.8 l -898 1767.4 l -880 1781.8 l -862 1767.4 l -f* -4.5 w -862 1767.4 m -880 1853.8 l -898 1767.4 l -880 1781.8 l -862 1767.4 l -h -S -880 1150 m -1330 1150 l -S -340 1285 m -340 610 l -S -1420 1060 m -1420 610 l -S -880 812.5 m -880 610 l -S -9 w -880 610 m -914.8 596.5 l -842.2 559 l -915.4 521.2 l -841.6 484.6 l -914.8 447.4 l -879.4 431.2 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -898 262.6 m -880 176.2 l -862 262.6 l -862 151 l -898 151 l -h -n -1 i -4.5 w -880 430 m -880 160 l -S -Q -q -1 i -898 262.6 m -880 176.2 l -862 262.6 l -880 248.2 l -898 262.6 l -f* -4.5 w -898 262.6 m -880 176.2 l -862 262.6 l -880 248.2 l -898 262.6 l -h -S -9 w -340.3 608.2 m -375.1 594.7 l -302.5 557.2 l -375.7 519.4 l -301.9 482.8 l -375.1 445.6 l -339.7 429.4 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -358 262.6 m -340 176.2 l -322 262.6 l -322 151 l -358 151 l -h -n -1 i -4.5 w -340 430 m -340 160 l -S -Q -q -1 i -358 262.6 m -340 176.2 l -322 262.6 l -340 248.2 l -358 262.6 l -f* -4.5 w -358 262.6 m -340 176.2 l -322 262.6 l -340 248.2 l -358 262.6 l -h -S -69.9998 902.5 m -790 902.5 l -S -9 w -1420 610 m -1454.8 596.5 l -1382.2 559 l -1455.4 521.2 l -1381.6 484.6 l -1454.8 447.4 l -1419.4 431.2 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -1438 262.6 m -1420 176.2 l -1402 262.6 l -1402 151 l -1438 151 l -h -n -1 i -4.5 w -1420 430 m -1420 160 l -S -Q -q -1 i -1438 262.6 m -1420 176.2 l -1402 262.6 l -1420 248.2 l -1438 262.6 l -f* -4.5 w -1438 262.6 m -1420 176.2 l -1402 262.6 l -1420 248.2 l -1438 262.6 l -h -S -1420 880 m -1690 880 l -S -Q -q -W -0 0 m -0 1970 l -1740 1970 l -1740 0 l -h -1402 1767.4 m -1420 1853.8 l -1438 1767.4 l -1438 1879 l -1402 1879 l -h -n -1 i -4.5 w -1420 1240 m -1420 1870 l -S -Q -q -1 i -1402 1767.4 m -1420 1853.8 l -1438 1767.4 l -1420 1781.8 l -1402 1767.4 l -f* -4.5 w -1402 1767.4 m -1420 1853.8 l -1438 1767.4 l -1420 1781.8 l -1402 1767.4 l -h -S -q 10 0 0 10 0 0 cm BT -/R6 10.8 Tf -1 0 0 1 0.249975 99.25 Tm(v)Tj -12.15 42.75 Td(R)Tj -56.25 0 Td(R)Tj --48.15 -4.5 Td(a)Tj --15.75 -42.75 Td(i)Tj -69.75 94.5 Td(12 V)Tj -4.5 -189 Td(-12 V)Tj -83.25 99 Td(v)Tj --93.6 -51.75 Td(R)Tj --56.25 0 Td(R)Tj -108 0 Td(R)Tj --99.9 -6.75 Td(b)Tj -108 0 Td(x)Tj -38.25 54 Td(o)Tj --90 42.75 Td(c)Tj -0 -96.75 Td(e)Tj -ET Q -Q -endstream -endobj -5 0 obj -3911 -endobj -3 0 obj -<< -/Type /Page -/MediaBox [0 0 174 197] -/Parent 2 0 R -/Resources << /ProcSet [/PDF /Text] -/Font << -/R6 6 0 R ->> ->> -/Contents 4 0 R ->> -endobj -6 0 obj -<</Type/Font/Name/R6/Subtype/Type1/BaseFont/Times-Roman>> -endobj -2 0 obj -<< /Type /Pages /Kids [ -3 0 R -] /Count 1 ->> -endobj -1 0 obj -<< /Type /Catalog /Pages 2 0 R ->> -endobj -7 0 obj -<< /CreationDate (D:19990919130433) -/Producer (Aladdin Ghostscript 5.50) ->> -endobj -xref -0 8 -0000000000 65535 f -0000004276 00000 n -0000004217 00000 n -0000003996 00000 n -0000000015 00000 n -0000003976 00000 n -0000004144 00000 n -0000004325 00000 n -trailer -<< /Size 8 /Root 1 0 R /Info 7 0 R ->> -startxref -4416 -%%EOF diff --git a/Build/source/texk/dvipdfm/dvi.c b/Build/source/texk/dvipdfm/dvi.c deleted file mode 100644 index c91d629a3b1..00000000000 --- a/Build/source/texk/dvipdfm/dvi.c +++ /dev/null @@ -1,1238 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "dvicodes.h" -#include "pdflimits.h" -#include "pdfdev.h" -#include "pdfdoc.h" -#include "tfm.h" -#include "vf.h" - - -/* Interal Variables */ - -static FILE *dvi_file; -static char debug = 0; -static unsigned num_loaded_fonts = 0, max_loaded_fonts = 0, stackdepth; -static unsigned long *page_loc = NULL; -static unsigned long post_location, dvi_file_size; -static UNSIGNED_PAIR num_pages = 0; -static UNSIGNED_QUAD media_width, media_height; -static UNSIGNED_QUAD dvi_unit_num, dvi_unit_den, dvi_mag; - - -#define PHYSICAL 1 -#define VIRTUAL 2 -#define DVI 1 -#define VF 2 - -struct loaded_font { - int type; /* Type is physical or virtual */ - int font_id; /* id returned by dev (for PHYSICAL fonts) - or by vf module for (VIRTUAL fonts) */ - int tfm_id; - spt_t size; - int source; /* Source is either DVI or VF */ -} *loaded_fonts = NULL; - -static void need_more_fonts (unsigned n) -{ - if (num_loaded_fonts+n > max_loaded_fonts) { - max_loaded_fonts += MAX_FONTS; - loaded_fonts = RENEW (loaded_fonts, max_loaded_fonts, struct - loaded_font); - } -} - -struct font_def -{ - spt_t size; - char *name; - signed long tex_id; - int font_id; /* index of _loaded_ font in loaded_fonts array */ - int used; -} *def_fonts = NULL; - -static unsigned num_def_fonts = 0, max_def_fonts = 0; - -static unsigned char verbose = 0; - -static unsigned char compute_boxes = 0; - -void dvi_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - -void dvi_compute_boxes (unsigned char boxes) -{ - compute_boxes = boxes; -} - -void dvi_set_debug(void) -{ - debug = 1; -} - -unsigned dvi_npages (void) -{ - return num_pages; -} - -static void invalid_signature() -{ - ERROR ("dvi_init: Something is wrong. Are you sure this is a DVI file?\n"); -} - -#define range_check_loc(loc) {if ((loc) > dvi_file_size) invalid_signature();} - - -static void find_post (void) -{ - long current; - int read_byte; - - /* First find end of file */ - dvi_file_size = file_size (dvi_file); - current = dvi_file_size; - - /* Scan backwards through PADDING */ - do { - current -= 1; - seek_absolute (dvi_file, current); - - } while ((read_byte = fgetc(dvi_file)) == PADDING && - current > 0); - - /* file_position now points to last non padding character or beginning of file */ - if (dvi_file_size - current < 4 || - current == 0 || read_byte != DVI_ID) { - fprintf (stderr, "DVI ID = %d\n", read_byte); - invalid_signature(); - } - - /* Make sure post_post is really there */ - current = current - 5; - seek_absolute (dvi_file, current); - if ((read_byte = fgetc(dvi_file)) != POST_POST) { - fprintf (stderr, "Found %d where post_post opcode should be\n", read_byte); - invalid_signature(); - } - current = get_signed_quad (dvi_file); - seek_absolute (dvi_file, current); - if ((read_byte = fgetc(dvi_file)) != POST) { - fprintf (stderr, "Found %d where post_post opcode should be\n", read_byte); - invalid_signature(); - } - post_location = current; -} - -static void get_page_info (void) -{ - int i; - seek_absolute (dvi_file, post_location+27); - num_pages = get_unsigned_pair (dvi_file); - if (verbose > 2) { - fprintf (stderr, "Page count:\t %4d\n", num_pages); - } - if (num_pages == 0) { - ERROR ("dvi_init: Page count is 0!"); - } - page_loc = NEW (num_pages, unsigned long); - seek_absolute (dvi_file, post_location+1); - page_loc[num_pages-1] = get_unsigned_quad(dvi_file); - range_check_loc(page_loc[num_pages-1]+41); - for (i=num_pages-2; i>=0; i--) { - seek_absolute (dvi_file, page_loc[i+1]+41); - page_loc[i] = get_unsigned_quad(dvi_file); - range_check_loc(page_loc[num_pages-1]+41); - } -} - -/* Following are computed "constants" used for unit conversion */ -static double dvi2pts = 0.0, total_mag = 1.0; - -double dvi_tell_mag (void) -{ - return total_mag; -} - -static void do_scales (double mag) -{ - total_mag = (double) dvi_mag / 1000.0 * mag; - dvi2pts = (double) dvi_unit_num / (double) dvi_unit_den; - dvi2pts *= (72.0)/(254000.0); -} - - -static void get_dvi_info (void) -{ - seek_absolute (dvi_file, post_location+5); - dvi_unit_num = get_unsigned_quad(dvi_file); - dvi_unit_den = get_unsigned_quad(dvi_file); - dvi_mag = get_unsigned_quad(dvi_file); - media_height = get_unsigned_quad(dvi_file); - media_width = get_unsigned_quad(dvi_file); - stackdepth = get_unsigned_pair(dvi_file); - if (stackdepth > DVI_MAX_STACK_DEPTH) { - fprintf (stderr, "DVI needs stack depth of %d,", stackdepth); - fprintf (stderr, "but MAX_DVI_STACK_DEPTH is %d", DVI_MAX_STACK_DEPTH); - ERROR ("Capacity exceeded."); - } - - if (verbose > 2) { - fprintf (stderr, "DVI File Info\n"); - fprintf (stderr, "Unit: %ld / %ld\n", dvi_unit_num, dvi_unit_den); - fprintf (stderr, "Mag: %ld\n", dvi_mag); - fprintf (stderr, "Media Height: %ld\n", media_height); - fprintf (stderr, "Media Width: %ld\n", media_width); - fprintf (stderr, "Stack Depth: %d\n", stackdepth); - } - -} - -static void dump_font_info (void) -{ - unsigned i; - fprintf (stderr, "\nDVI file font info\n"); - for (i=0; i<num_def_fonts; i++) { - fprintf (stderr, "name: %10s, ", def_fonts[i].name); - fprintf (stderr, "TeX/DVI ID: %5ld, ", def_fonts[i].tex_id); - fprintf (stderr, "size: %5.2f pt, ", def_fonts[i].size*dvi2pts); - fprintf (stderr, "\n"); - } -} - -static void get_a_font_record (SIGNED_QUAD tex_id) -{ - UNSIGNED_BYTE dir_length, name_length; - UNSIGNED_QUAD checksum, size, design_size; - char *directory, *name; - if (debug) { - fprintf (stderr, "get_a_font_record: tex_id = %ld\n", tex_id); - } - if (num_def_fonts >= max_def_fonts) { - max_def_fonts += MAX_FONTS; - def_fonts = RENEW (def_fonts, max_def_fonts, struct font_def); - } - checksum = get_unsigned_quad (dvi_file); - size = get_unsigned_quad (dvi_file); - design_size = get_unsigned_quad (dvi_file); - dir_length = get_unsigned_byte (dvi_file); - name_length = get_unsigned_byte (dvi_file); - directory = NEW (dir_length+1, char); - if (fread (directory, 1, dir_length, dvi_file) != - dir_length) { - invalid_signature(); - } - name = NEW (name_length+1, char); - if (fread (name, 1, name_length, dvi_file) != - name_length) { - invalid_signature(); - } - directory[dir_length] = 0; - RELEASE (directory); - name[name_length] = 0; - def_fonts[num_def_fonts].name = name; - def_fonts[num_def_fonts].size = size; - def_fonts[num_def_fonts].tex_id = tex_id; - def_fonts[num_def_fonts].used = 0; - num_def_fonts +=1; - return; -} - -static void get_dvi_fonts (void) -{ - UNSIGNED_BYTE code; - SIGNED_QUAD tex_id; - seek_absolute (dvi_file, post_location+29); - while ((code = get_unsigned_byte(dvi_file)) != POST_POST) { - switch (code) - { - case FNT_DEF1: - tex_id = get_unsigned_byte (dvi_file); - break; - case FNT_DEF2: - tex_id = get_unsigned_pair (dvi_file); - break; - case FNT_DEF3: - tex_id = get_unsigned_triple (dvi_file); - break; - case FNT_DEF4: - tex_id = get_signed_quad (dvi_file); - break; - default: - fprintf (stderr, "Unexpected op code: %3d\n", code); - invalid_signature(); - } - get_a_font_record(tex_id); - } - if (verbose>2) { - dump_font_info(); - } -} - - -void get_comment(void) -{ - UNSIGNED_BYTE length; - static char dvi_comment[257]; - seek_absolute (dvi_file, 14); - length = get_unsigned_byte(dvi_file); - if (fread (dvi_comment, 1, length, dvi_file) != length) { - invalid_signature(); - } - dvi_comment[length] = 0; - if (verbose) { - fprintf (stderr, "DVI Comment: %s\n", dvi_comment); - } - dev_add_comment (dvi_comment); -} - - -/* The section below this line deals with the actual processing of the - dvi file. - - The dvi file processor state is contained in the following - variables: */ - -struct dvi_registers { - SIGNED_QUAD h, v, w, x, y, z; -}; - -static struct dvi_registers dvi_state; -static struct dvi_registers dvi_stack[DVI_MAX_STACK_DEPTH]; -static int current_font; -static unsigned dvi_stack_depth = 0; -static int processing_page = 0; - -static void clear_state (void) -{ - dvi_state.h = 0; dvi_state.v = 0; dvi_state.w = 0; - dvi_state.x = 0; dvi_state.y = 0; dvi_state.z = 0; - dvi_stack_depth = 0; - current_font = -1; -} - - -double dvi_unit_size(void) -{ - return dvi2pts; -} - -int dvi_locate_font (char *tex_name, spt_t ptsize) -{ - int thisfont; - int font_id; - if (debug) { - fprintf (stderr, "dvi_locate_font: fontname: (%s) ptsize: %ld, dvi_id: %d\n", - tex_name, ptsize, num_loaded_fonts); - } - if (verbose) - fprintf (stderr, "<%s@%.2fpt", tex_name, ptsize*dvi2pts); - need_more_fonts (1); - /* This routine needs to be recursive/reentrant. Load current high water - mark into an automatic variable */ - thisfont = num_loaded_fonts++; - loaded_fonts[thisfont].tfm_id = tfm_open (tex_name); - loaded_fonts[thisfont].source = VF; /* This will be reset later if - it was really generated by the - dvi file */ - font_id = vf_locate_font (tex_name, ptsize); - loaded_fonts[thisfont].font_id = font_id; - if (loaded_fonts[thisfont].font_id >= 0) { - if (verbose) - fprintf (stderr, "(VF)"); - loaded_fonts[thisfont].type = VIRTUAL; - } else { - loaded_fonts[thisfont].type = PHYSICAL; - font_id = dev_locate_font (tex_name, ptsize); - loaded_fonts[thisfont].font_id = font_id; - if (loaded_fonts[thisfont].font_id < 0) { - fprintf (stderr, "%s: Can't locate a Type 1, TTF, PK, or virtual font file\n", tex_name); - ERROR ("Not sure how to proceed. For now this is fatal\n\ -Maybe in the future, I'll substitute some other font."); - } - } - loaded_fonts[thisfont].size = ptsize; - if (verbose) - fprintf (stderr, ">"); - return (thisfont); -} - -double dvi_dev_xpos(void) { - return dvi_state.h*dvi2pts; -} - -double dvi_dev_ypos (void) -{ - return -(dvi_state.v*dvi2pts); -} - -static void do_moveto (SIGNED_QUAD x, SIGNED_QUAD y) -{ - dvi_state.h = x; - dvi_state.v = y; -} - -void dvi_right (SIGNED_QUAD x) -{ - dvi_state.h += x; -} - -void dvi_down (SIGNED_QUAD y) -{ - dvi_state.v += y; -} - -static void do_string (unsigned char *s, int len) -{ - spt_t width = 0, height = 0, depth = 0; - int i; - struct loaded_font *p; - if (debug) { - int i; - fprintf (stderr, "do_string: (font: %d)\n", current_font); - for (i=0; i<len; i++) fputc (s[i], stderr); - fputc ('\n', stderr); - } - - if (current_font < 0) { - ERROR ("do_string: No font selected"); - } - p = loaded_fonts+current_font; - width = tfm_string_width (p->tfm_id, s, len); - width = sqxfw (p->size, width); - switch (p->type) { - case PHYSICAL: - dev_set_string (dvi_state.h, -dvi_state.v, s, len, - width, p->font_id); - if (compute_boxes) { - height = tfm_string_height (p->tfm_id, s, len); - depth = tfm_string_depth (p->tfm_id, s, len); - height = sqxfw (p->size, height); - depth = sqxfw (p->size, depth); - dev_expand_box (width, height, depth); - } - break; - case VIRTUAL: - dvi_push(); - for (i=0; i<len; i++) { - dvi_set (s[i]); - } - dvi_pop(); - } - dvi_state.h += width; -} - -void dvi_set (SIGNED_QUAD ch) -{ - spt_t width, height = 0, depth = 0; - struct loaded_font *p; - unsigned char lch; - if (current_font < 0) { - ERROR ("dvi_set: No font selected"); - } - /* The division by dvi2pts seems strange since we actually know the - "dvi" size of the fonts contained in the DVI file. In other - words, we converted from DVI units to pts and back again! - The problem comes from fonts defined in VF files where we don't know the DVI - size. It's keeping me sane to keep *point sizes* of *all* fonts in - the dev.c file and convert them back if necessary */ - p = loaded_fonts+current_font; - width = tfm_get_fw_width (p->tfm_id, ch); - width = sqxfw (p->size, width); - switch (p->type) { - case PHYSICAL: - if (ch > 255) { - ERROR ("Tried to set a multibyte character in a non-virtual font"); - } - lch = (unsigned char) ch; - dev_set_string (dvi_state.h, -dvi_state.v, &lch, 1, width, p->font_id); - if (compute_boxes) { - height = tfm_get_fw_height (p->tfm_id, ch); - depth = tfm_get_fw_depth (p->tfm_id, ch); - height = sqxfw (p->size, height); - depth = sqxfw (p->size, depth); - dev_expand_box (width, height, depth); - } - break; - case VIRTUAL: - { - vf_set_char (ch, p->font_id); - break; - } - } - dvi_state.h += width; -} - -void dvi_put (SIGNED_QUAD ch) -{ - spt_t width, height = 0, depth = 0; - struct loaded_font *p; - unsigned char lch; - if (current_font < 0) { - ERROR ("dvi_put: No font selected"); - } - p = loaded_fonts+current_font; - switch (p->type) { - case PHYSICAL: - width = tfm_get_fw_width (p->tfm_id, ch); - width = sqxfw (p->size, width); - /* Treat a single character as a one byte string and use the - string routine. The possibly multi-byte character must - be converted to a single-byte string */ - if (ch > 255) { - ERROR ("Tried to set a multibyte character in a non-virtual font"); - } - lch = (unsigned char) ch; - dev_set_string (dvi_state.h, -dvi_state.v, &lch, 1, width, p->font_id); - if (compute_boxes) { - height = tfm_get_fw_height (p->tfm_id, ch); - depth = tfm_get_fw_depth (p->tfm_id, ch); - height = sqxfw (p->size, height); - depth = sqxfw (p->size, depth); - dev_expand_box (width, height, depth); - } - break; - case VIRTUAL: - vf_set_char (ch, p->font_id); - break; - } - return; -} - - -void dvi_rule (SIGNED_QUAD width, SIGNED_QUAD height) -{ - do_moveto (dvi_state.h, dvi_state.v); - dev_rule (dvi_state.h, -dvi_state.v, - width, height); -} - -static void do_set1(void) -{ - dvi_set (get_unsigned_byte(dvi_file)); -} - -static void do_set2(void) -{ - dvi_set (get_unsigned_pair(dvi_file)); -} - -static void do_setrule(void) -{ - SIGNED_QUAD width, height; - height = get_signed_quad (dvi_file); - width = get_signed_quad (dvi_file); - if (width > 0 && height > 0) { - dvi_rule (width, height); - } - dvi_right (width); -} - -static void do_putrule(void) -{ - SIGNED_QUAD width, height; - height = get_signed_quad (dvi_file); - width = get_signed_quad (dvi_file); - if (width > 0 && height > 0) { - dvi_rule (width, height); - } -} - -static void do_put1(void) -{ - dvi_put (get_unsigned_byte(dvi_file)); -} - -static void do_put2(void) -{ - dvi_put (get_unsigned_pair(dvi_file)); -} - -void dvi_push (void) -{ - if (debug) { - fprintf (stderr, "Pushing onto stack of depth %d\n", - dvi_stack_depth); - } - if (dvi_stack_depth < DVI_MAX_STACK_DEPTH) { - dvi_stack[dvi_stack_depth++] = dvi_state; - } - else - ERROR ("DVI stack exceeded"); -} - -void dvi_pop (void) -{ - if (debug) { - fprintf (stderr, "Popping off stack of depth %d\n", - dvi_stack_depth); - } - if (dvi_stack_depth > 0) { - dvi_state = dvi_stack[--dvi_stack_depth]; - } else - ERROR ("dvi_pop: Tried to pop an empty stack"); - do_moveto (dvi_state.h, dvi_state.v); -} - - -static void do_right1(void) -{ - dvi_right (get_signed_byte(dvi_file)); -} - -static void do_right2(void) -{ - dvi_right (get_signed_pair(dvi_file)); -} - -static void do_right3(void) -{ - dvi_right (get_signed_triple(dvi_file)); -} - -static void do_right4(void) -{ - dvi_right (get_signed_quad(dvi_file)); -} - -void dvi_w (SIGNED_QUAD ch) -{ - dvi_state.w = ch; - dvi_right (ch); -} - -void dvi_w0(void) -{ - dvi_right (dvi_state.w); -} - -static void do_w1(void) -{ - dvi_w (get_signed_byte(dvi_file)); -} - -static void do_w2(void) -{ - dvi_w (get_signed_pair(dvi_file)); -} - -static void do_w3(void) -{ - dvi_w (get_signed_triple(dvi_file)); -} - -static void do_w4(void) -{ - dvi_w (get_signed_quad(dvi_file)); -} - -void dvi_x (SIGNED_QUAD ch) -{ - dvi_state.x = ch; - dvi_right (ch); -} - -void dvi_x0(void) -{ - dvi_right (dvi_state.x); -} - -static void do_x1(void) -{ - dvi_x (get_signed_byte(dvi_file)); -} - -static void do_x2(void) -{ - dvi_x (get_signed_pair(dvi_file)); -} - -static void do_x3(void) -{ - dvi_x (get_signed_triple(dvi_file)); -} - -static void do_x4(void) -{ - dvi_x (get_signed_quad(dvi_file)); -} - -static void do_down1(void) -{ - dvi_down (get_signed_byte(dvi_file)); -} - -static void do_down2(void) -{ - dvi_down (get_signed_pair(dvi_file)); -} - -static void do_down3(void) -{ - dvi_down (get_signed_triple(dvi_file)); -} - -static void do_down4(void) -{ - dvi_down (get_signed_quad(dvi_file)); -} - -void dvi_y (SIGNED_QUAD ch) -{ - dvi_state.y = ch; - dvi_down (ch); -} - -void dvi_y0(void) -{ - dvi_down (dvi_state.y); -} - -static void do_y1(void) -{ - dvi_y (get_signed_byte(dvi_file)); -} - -static void do_y2(void) -{ - dvi_y (get_signed_pair(dvi_file)); -} - -static void do_y3(void) -{ - dvi_y (get_signed_triple(dvi_file)); -} - -static void do_y4(void) -{ - dvi_y (get_signed_quad(dvi_file)); -} - -void dvi_z (SIGNED_QUAD ch) -{ - dvi_state.z = ch; - dvi_down (ch); -} - -void dvi_z0(void) -{ - dvi_down (dvi_state.z); -} - -static void do_z1(void) -{ - dvi_z (get_signed_byte(dvi_file)); -} - -static void do_z2(void) -{ - dvi_z (get_signed_pair(dvi_file)); -} - -static void do_z3(void) -{ - dvi_z (get_signed_triple(dvi_file)); -} - -static void do_z4(void) -{ - dvi_z (get_signed_quad(dvi_file)); -} - -static void do_fntdef(void) -{ - int area_len, name_len, i; - get_signed_quad(dvi_file); - get_signed_quad(dvi_file); - get_signed_quad(dvi_file); - area_len = get_unsigned_byte(dvi_file); - name_len = get_unsigned_byte(dvi_file); - for (i=0; i<area_len+name_len; i++) { - get_unsigned_byte (dvi_file); - } -} - -static void do_fntdef1(void) -{ - get_unsigned_byte(dvi_file); - do_fntdef(); -} - -static void do_fntdef2(void) -{ - get_unsigned_pair(dvi_file); - do_fntdef(); -} - -static void do_fntdef3(void) -{ - get_unsigned_triple(dvi_file); - do_fntdef(); -} - -static void do_fntdef4(void) -{ - get_signed_quad(dvi_file); - do_fntdef(); -} - - -void dvi_set_font (int font_id) -{ - current_font = font_id; -} - -static void do_fnt (SIGNED_QUAD tex_id) -{ - int i; - for (i=0; i<num_def_fonts; i++) { - if (def_fonts[i].tex_id == tex_id) - break; - } - if (i == num_def_fonts) { - fprintf (stderr, "fontid: %ld\n", tex_id); - ERROR ("dvi_do_fnt: Tried to select a font that hasn't been defined"); - } - if (!def_fonts[i].used) { - int font_id; - font_id = dvi_locate_font (def_fonts[i].name, def_fonts[i].size); - loaded_fonts[font_id].source = DVI; - def_fonts[i].used = 1; - def_fonts[i].font_id = font_id; - } - current_font = def_fonts[i].font_id; -} - -static void do_fnt1(void) -{ - SIGNED_QUAD font; - font = get_unsigned_byte(dvi_file); - do_fnt(font); -} - -static void do_fnt2(void) -{ - SIGNED_QUAD font; - font = get_unsigned_pair(dvi_file); - do_fnt(font); -} - -static void do_fnt3(void) -{ - SIGNED_QUAD font; - font = get_unsigned_triple(dvi_file); - do_fnt(font); -} - -static void do_fnt4(void) -{ - SIGNED_QUAD font; - font = get_signed_quad(dvi_file); - do_fnt(font); -} - -static void do_xxx(UNSIGNED_QUAD size) -{ - UNSIGNED_QUAD i; - Ubyte *buffer; - buffer = NEW (size+1, Ubyte); - for (i=0; i<size; i++) { - buffer[i] = get_unsigned_byte(dvi_file); - } - if (debug) - fprintf (stderr, "Special: %s\n", buffer); - dev_do_special (buffer, size, dvi_state.h, dvi_state.v); - RELEASE (buffer); -} - -static void do_xxx1(void) -{ - SIGNED_QUAD size; - if (debug) - fprintf (stderr, "(xxx1)"); - size = get_unsigned_byte(dvi_file); - do_xxx(size); -} - -static void do_xxx2(void) -{ - SIGNED_QUAD size; - size = get_unsigned_pair(dvi_file); - do_xxx(size); -} - -static void do_xxx3(void) -{ - SIGNED_QUAD size; - size = get_unsigned_triple(dvi_file); - do_xxx(size); -} - -static void do_xxx4(void) -{ - SIGNED_QUAD size; - size = get_unsigned_quad(dvi_file); - do_xxx(size); -} - -static void do_bop(void) -{ - int i; - if (processing_page) - ERROR ("dvi_do_bop: Got a bop inthe middle of a page"); - /* For now, ignore TeX's count registers */ - for (i=0; i<10; i++) { - get_signed_quad (dvi_file); - } -/* Ignore previous page pointer since we have already saved this - information */ - get_signed_quad (dvi_file); - clear_state(); - processing_page = 1; - dev_bop(); -} - -static void do_eop(void) -{ - processing_page = 0; - if (dvi_stack_depth != 0) { - ERROR ("do_eop: stack_depth is not zero at end of page"); - } - dev_eop(); -} -/* Note to be absolutely certain that the string escape buffer doesn't - hit its limit, FORMAT_BUF_SIZE should set to 4 times S_BUFFER_SIZE - in pdfobj.c. Is there any application that genenerate words with - 1k characters? */ - -#define S_BUFFER_SIZE 1024 -static unsigned char s_buffer[S_BUFFER_SIZE]; -static unsigned s_len = 0; - -void dvi_do_page(unsigned n) /* Most of the work of actually interpreting - the dvi file is here. */ -{ - unsigned char opcode; - /* Position to beginning of page */ - if (debug) fprintf (stderr, "Seeking to page %d @ %ld\n", n, - page_loc[n]); - seek_absolute (dvi_file, page_loc[n]); - dvi_stack_depth = 0; - for (;;) { - /* The most likely opcodes are individual setchars. These are - buffered for speed */ - s_len = 0; - while ((opcode = fgetc (dvi_file)) <= SET_CHAR_127 && - s_len < S_BUFFER_SIZE) { - s_buffer[s_len++] = opcode; - } - if (s_len > 0) { - do_string (s_buffer, s_len); - } - if (s_len == S_BUFFER_SIZE) - continue; - /* If we are here, we have an opcode that is something - other than SET_CHAR */ - if (opcode >= FNT_NUM_0 && opcode <= FNT_NUM_63) { - do_fnt (opcode - FNT_NUM_0); - continue; - } - switch (opcode) - { - case SET1: - do_set1(); - break; - case SET2: - do_set2(); - break; - case SET3: - case SET4: - ERROR ("Multibyte (>16 bits) character in DVI file. I can't handle this!"); - break; - case SET_RULE: - do_setrule(); - break; - case PUT1: - do_put1(); - break; - case PUT2: - do_put2(); - break; - case PUT3: - case PUT4: - ERROR ("Multibyte character (>16 bits) in DVI file. I can't handle this!"); - break; - case PUT_RULE: - do_putrule(); - break; - case NOP: - break; - case BOP: - do_bop(); - break; - case EOP: - do_eop(); - return; - case PUSH: - dvi_push(); - /* The following line needs to go here instead of in - dvi_push() since logical structure of document is - oblivous to virtual fonts. For example the last line on a - page could be at stack level 3 and the page footer should - be at stack level 3. However, if the page footer contains - virtual fonts (or other nested constructions), it could - fool the link breaker into thinking it was a continuation - of the link */ - dev_stack_depth (dvi_stack_depth); - break; - case POP: - dvi_pop(); - /* Above explanation holds for following line too */ - dev_stack_depth (dvi_stack_depth); - break; - case RIGHT1: - do_right1(); - break; - case RIGHT2: - do_right2(); - break; - case RIGHT3: - do_right3(); - break; - case RIGHT4: - do_right4(); - break; - case W0: - dvi_w0(); - break; - case W1: - do_w1(); - break; - case W2: - do_w2(); - break; - case W3: - do_w3(); - break; - case W4: - do_w4(); - break; - case X0: - dvi_x0(); - break; - case X1: - do_x1(); - break; - case X2: - do_x2(); - break; - case X3: - do_x3(); - break; - case X4: - do_x4(); - break; - case DOWN1: - do_down1(); - break; - case DOWN2: - do_down2(); - break; - case DOWN3: - do_down3(); - break; - case DOWN4: - do_down4(); - break; - case Y0: - dvi_y0(); - break; - case Y1: - do_y1(); - break; - case Y2: - do_y2(); - break; - case Y3: - do_y3(); - break; - case Y4: - do_y4(); - break; - case Z0: - dvi_z0(); - break; - case Z1: - do_z1(); - break; - case Z2: - do_z2(); - break; - case Z3: - do_z3(); - break; - case Z4: - do_z4(); - break; - case FNT1: - do_fnt1(); - break; - case FNT2: - do_fnt2(); - break; - case FNT3: - do_fnt3(); - break; - case FNT4: - do_fnt4(); - break; - case XXX1: - do_xxx1(); - break; - case XXX2: - do_xxx2(); - break; - case XXX3: - do_xxx3(); - break; - case XXX4: - do_xxx4(); - break; - case FNT_DEF1: - do_fntdef1(); - break; - case FNT_DEF2: - do_fntdef2(); - break; - case FNT_DEF3: - do_fntdef3(); - break; - case FNT_DEF4: - do_fntdef4(); - break; - case PRE: - case POST: - case POST_POST: - ERROR("Unexpected preamble or postamble in dvi file"); - break; - default: - ERROR("Unexpected opcode or DVI file ended prematurely"); - } - } -} - -error_t dvi_init (char *dvi_filename, char *pdf_filename, double mag, double x_offset, double - y_offset) -{ - if (!(dvi_file = MFOPEN (dvi_filename, FOPEN_RBIN_MODE))) { - ERROR ("dvi_init: Specified DVI file doesn't exist"); - return (FATAL_ERROR); - } - /* DVI files are most easily read backwards by searching - for post_post and then post opcode */ - find_post (); - get_dvi_info(); - do_scales(mag); - dev_init(dvi2pts, x_offset, y_offset); - get_page_info(); - pdf_doc_init (pdf_filename); - get_comment(); - get_dvi_fonts(); - clear_state(); - return (NO_ERROR); -} - -void dvi_close (void) -{ - int i; - /* We add comment in dvi_close instead of dvi_init so user has - a change to overwrite it. The docinfo dictionary is - treated as a write-once record */ - - /* Do some house cleaning */ - MFCLOSE (dvi_file); - for (i=0; i<num_def_fonts; i++) { - RELEASE (def_fonts[i].name); - } - if (def_fonts) - RELEASE (def_fonts); - RELEASE (page_loc); - num_loaded_fonts = 0; - if (loaded_fonts) - RELEASE (loaded_fonts); - num_pages = 0; - dvi_file = NULL; - dev_close_all_fonts(); - vf_close_all_fonts(); - tfm_close_all(); - dev_close(); - pdf_doc_close(); -} - -/* The following are need to implement virtual fonts - According to documentation, the vf "subroutine" - must have state pushed and must have - w,v,y, and z set to zero. The current font - is determined by the virtual font header, which - may be undefined */ - -static int saved_dvi_font[MAX_VF_NESTING]; -static int num_saved_fonts = 0; - -void dvi_vf_init (int dev_font_id) -{ - dvi_push (); - dvi_state.w = 0; dvi_state.x = 0; - dvi_state.y = 0; dvi_state.z = 0; - if (num_saved_fonts < MAX_VF_NESTING) { - saved_dvi_font[num_saved_fonts++] = current_font; - } else - ERROR ("Virtual fonts nested too deeply!"); - current_font = dev_font_id; -} - -/* After VF subroutine is finished, we simply pop the DVI stack */ -void dvi_vf_finish (void) -{ - dvi_pop(); - if (num_saved_fonts > 0) - current_font = saved_dvi_font[--num_saved_fonts]; - else - ERROR ("Tried to pop an empty font stack"); -} diff --git a/Build/source/texk/dvipdfm/dvi.h b/Build/source/texk/dvipdfm/dvi.h deleted file mode 100644 index 06ef5137a7d..00000000000 --- a/Build/source/texk/dvipdfm/dvi.h +++ /dev/null @@ -1,67 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef _DVI_H_ -#define _DVI_H_ - -#include "error.h" -#include "numbers.h" -#include "pdfdev.h" - -extern error_t dvi_init (char *dvi_filename, char *pdf_filename, double mag, double x_offset, - double y_offset); - -extern void dvi_set_verbose (void); -extern void dvi_set_debug (void); - -extern void dvi_close (void); /* Closes data structures created by dvi_open */ -extern double dvi_tell_mag (void); -extern double dvi_unit_size (void); - -extern void dvi_vf_init (int dev_font_id); -extern void dvi_vf_finish (void); - -extern void dvi_set_font (int font_id); -extern void dvi_set (SIGNED_QUAD ch); -extern void dvi_rule (SIGNED_QUAD width, SIGNED_QUAD height); -extern void dvi_right (SIGNED_QUAD x); -extern void dvi_put (SIGNED_QUAD ch); -extern void dvi_push (void); -extern void dvi_pop (void); -extern void dvi_w0 (void); -extern void dvi_w (SIGNED_QUAD ch); -extern void dvi_x0(void); -extern void dvi_x (SIGNED_QUAD ch); -extern void dvi_down (SIGNED_QUAD y); -extern void dvi_y (SIGNED_QUAD ch); -extern void dvi_y0(void); -extern void dvi_z (SIGNED_QUAD ch); -extern void dvi_z0(void); -extern double dvi_dev_xpos(void); -extern double dvi_dev_ypos(void); -extern unsigned dvi_npages (void); -extern void dvi_do_page(unsigned n); -extern int dvi_locate_font (char *name, spt_t ptsize); -extern void dvi_compute_boxes (unsigned char boxes); -#endif /* _DVI_H_ */ diff --git a/Build/source/texk/dvipdfm/dvicodes.h b/Build/source/texk/dvipdfm/dvicodes.h deleted file mode 100644 index 87d164e26ea..00000000000 --- a/Build/source/texk/dvipdfm/dvicodes.h +++ /dev/null @@ -1,115 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -/* DVI op codes */ -#define SET_CHAR_0 0 -#define SET_CHAR_1 1 -/* etc. */ -#define SET_CHAR_127 127 -#define SET1 128 /* Typesets its single operand between 128 and 255 */ -#define SET2 129 /* Typesets its single two byte unsigned operand */ -#define SET3 130 /* Typesets its single three byte unsigned operand */ -#define SET4 131 /* Typesets its single four byte unsigned operand */ -#define SET_RULE 132 /* Sets a rule of height param1(four bytes) and width param2(four bytes) */ - /* These are *signed*. Nothing typeset for nonpositive values */ - /* However, negative value *do* change current point */ -#define PUT1 133 /* Like SET1, but point doesn't change */ -#define PUT2 134 /* Like SET2 */ -#define PUT3 135 /* Like SET3 */ -#define PUT4 136 /* Like SET4 */ -#define PUT_RULE 137 /* Like SET_RULE */ -#define NOP 138 -#define BOP 139 /* Followed by 10 four byte count registers (signed?). Last parameter points to */ - /* previous BOP (backward linked, first BOP has -1). BOP clears stack and resets current point. */ -#define EOP 140 -#define PUSH 141 /* Pushes h,v,w,x,y,z */ -#define POP 142 /* Opposite of push*/ -#define RIGHT1 143 /* Move right by one byte signed operand */ -#define RIGHT2 144 /* Move right by two byte signed operand */ -#define RIGHT3 145 /* Move right by three byte signed operand */ -#define RIGHT4 146 /* Move right by four byte signed operand */ -#define W0 147 /* Move right w */ -#define W1 148 /* w <- single byte signed operand. Move right by same amount */ -#define W2 149 /* Same as W1 with two byte signed operand */ -#define W3 150 /* Three byte signed operand */ -#define W4 151 /* Four byte signed operand */ -#define X0 152 /* Move right x */ -#define X1 153 /* Like W1 */ -#define X2 154 /* Like W2 */ -#define X3 155 /* Like W3 */ -#define X4 156 /* Like W4 */ -#define DOWN1 157 /* Move down by one byte signed operand */ -#define DOWN2 158 /* Two byte signed operand */ -#define DOWN3 159 /* Three byte signed operand */ -#define DOWN4 160 /* Four byte signed operand */ -#define Y0 161 /* Move down by y */ -#define Y1 162 /* Move down by one byte signed operand, which replaces Y */ -#define Y2 163 /* Two byte signed operand */ -#define Y3 164 /* Three byte signed operand */ -#define Y4 165 /* Four byte signed operand */ -#define Z0 166 /* Like Y0, but use z */ -#define Z1 167 /* Like Y1 */ -#define Z2 168 /* Like Y2 */ -#define Z3 169 /* Like Y3 */ -#define Z4 170 /* Like Y4 */ -#define FNT_NUM_0 171 /* Switch to font 0 */ -#define FNT_NUM_1 172 /* Switch to font 1 */ -/* etc. */ -#define FNT_NUM_63 234 /* Switch to font 63 */ -#define FNT1 235 /* Switch to font described by single byte unsigned operand */ -#define FNT2 236 /* Switch to font described by two byte unsigned operand */ -#define FNT3 237 /* Three byte font descriptor */ -#define FNT4 238 /* Four byte operator (Knuth says signed, but what would be the point? */ -#define XXX1 239 /* Special. Operand is one byte length. Special follows immediately */ -#define XXX2 240 /* Two byte operand */ -#define XXX3 241 /* Three byte operand */ -#define XXX4 242 /* Four byte operand (Knuth says TeX uses only XXX1 and XXX4 */ -#define FNT_DEF1 243 /* One byte font number, four byte checksum, four byte magnified size (DVI units), - four byte designed size, single byte directory length, single byte name length, - followed by complete name (area+name) */ -#define FNT_DEF2 244 /* Same for two byte font number */ -#define FNT_DEF3 245 /* Same for three byte font number */ -#define FNT_DEF4 246 /* Four byte font number (Knuth says signed) */ -#define PRE 247 /* Preamble: - one byte DVI version (should be 2) - four byte unsigned numerator - four byte unsigned denominator -- one DVI unit = den/num*10^(-7) m - four byte magnification (multiplied by 1000) - one byte unsigned comment length followed by comment. */ -#define DVI_ID 2 /* ID Byte for current DVI file */ -#define POST 248 /* Postamble- -- similar to preamble - four byte pointer to final bop - four byte numerator - four byte denominator - four byte mag - four byte maximum height (signed?) - four byte maximum width - two byte max stack depth required to process file - two byte number of pages */ -#define POST_POST 249 /* End of postamble - four byte pointer to POST command - Version byte (same as preamble) - Padded by four or more 223's to the end of the file. */ -#define PADDING 223 - diff --git a/Build/source/texk/dvipdfm/dvipdfm.1 b/Build/source/texk/dvipdfm/dvipdfm.1 deleted file mode 100644 index 674a15790a0..00000000000 --- a/Build/source/texk/dvipdfm/dvipdfm.1 +++ /dev/null @@ -1,322 +0,0 @@ -.de EX -.sp -.in +5 -.nf -.ft CW -.. -.de EE -.in -5 -.ft R -.sp -.fi -.. -.TH dvipdfm 1 5/28/2001 -.SH NAME -dvipdfm \- Produce PDF files directly from DVI files - -.SH SYNOPSIS -.B dvipdfm -.RI [ options ] -.IR file [.dvi] - -.SH DESCRIPTION -The program -.B dvipdfm -generates a -.SM PDF -file from a -.SM DVI -file. -.SM DVI -files are the output format -produced by TeX. -Output from -.B groff -can be converted to -.SM DVI -format -using -.BR grodvi . - -The program -.B dvipdfm -recognizes several commonly used -.BR \especial -commands, which are extensions to the -.SM DVI -format. -Specifically, it understands -color specials, papersize specials, -tpic specials (which allow it to be used with -.BR pic ), -hypertex specials, and some PostScript -specials. These extensions allow documents -to contain color, figures, and hyperlinks. -The program tries to mimic -the behavior of -.B dvips -so that many -macro packages produced for use with -.B dvips -will work with -.B dvipdfm. -Dvipdfm understands its own specific -.B \especial -commands to allow access to PDF features -such as annotations and bookmarks. -For more details, consult the -.I "Dvipdfm User's Manual," -which is distributed with -.B dvipdfm. - -.SH OPTIONS - -.TP 5 -.B \-\^c -Ignore color -.BR \especials . -The -.B \-\^c -toggles a flag that disables color -.B \especial -processing. -Unless changed in the configuration file, -that flag is off, and color -.BR \especial "s" -are interpreted normally. -The -.B \-\^c -option may be used to produce a black and white document -from a document containing color TeX -.B \especial -commands. - -.TP 5 -.B \-\^d -Remove thumbnail images after including them. -(See the -.B \-\^t -option for more information.) - -.TP 5 -.B \-\^e -Toggle partial font embedding flag. If partial -font embedding is off, embedded fonts are -.I fully -embedded. -The default, if not changed in the configuration file, -is to embed only those glyphs actually used in the document. - -.TP 5 -.B \-\^f map_file -Set the name of the font map file to -.IR map_file . -The format of the font map file -is documented in the -.IR "Dvipdfm User's Manual" . - -.TP 5 -.B \-\^l -Select landscape mode. In other words, exchange the -.I x -and -.I y -dimensions of the paper. - -.TP 5 -.B \-\^m " mag" -Magnify the input document by -.IR mag . - -.TP 5 -.B \-\^o " name" -Generate PDF output file having the name -.IR name . -By default, the name of the output -file is -.IR file .pdf. - -.TP 5 -.B \-\^p " paper" -Select the papersize by name (e.g., -.BR letter ", " legal ", " ledger ", " tabloid ", " a3 ", " a4 ", or " a5 -) - -.TP 5 -.B \-\^r " size" -Set resolution of bitmapped fonts to -.B size -dots per inch. Bitmapped fonts are generated -by the Kpathsea library, which uses MetaFont. Bitmapped -fonts are included as type 3 fonts in the PDF output file. - -.TP 5 -.B \-\^s " page_specifications" -Select the pages of the -.SM DVI -file to be converted. -The -.I page_specifications -consists of a comma separated list of -.I page_ranges: - -.EX -.IR "page_specifications := page_specification" "[," page_specifications "]" -.EE - -where - -.EX -.IR "page_specification := single_page" | page_range - -.IR "page_range := " [ first_page ]\^\-\^[ last_page ] -.EE - -An empty -.I first_page -is implied to be the first page of the -.SM DVI -file. -An empty -.I last_page -is treated as the last page of the -.SM DVI -file. - -Examples: -.RS -.TP 5 -.B "\-\^s 1,3,5" -includes pages 1, 3, and 5; -.TP 5 -.B "\-\^s \-" -includes all pages; -.TP 5 -.B "\-\^s \-,\-" -includes two copies of all pages in the -.SM DVI -file; -and -.TP 5 -.B "\-\^s 1\-10" -includes the first ten pages of the -.SM DVI -file. -.RE -.TP 5 -.B \-\^t -Search for thumbnail images of each page -in the directory named by the -.B TMPDIR -environment variable. -The thumbnail images must be named in a specific format. -They must have the same base name -as the -.SM DVI -file and they must have the page number as the extension -to the file name. Dvipdfm does not -generate the thumbnails itself, but it is distributed with a wrapper -program named -.B dvipdft -that does so. - -.TP 5 -.B \-\^v -Increase verbosity. -Results of the -.B \-\^v -option are cumulative (e.g., -.B \-\^vv -) increases the verbosity by two increments. - -.TP 5 -.B \-\^x x_offset -Set the left margin to -.IR x_offset . -The default left margin is -.BR 1.0in . -The dimension may be specified in any units understood by TeX (e.g., -.BR bpt ", " pt ", " in ", " cm -) - -.TP 5 -.B \-\^y y_offset -Set the top margin to -.IR y_offset . -The default top margin is -.BR 1.0in . -The dimension may be specified in any units understood by TeX (e.g., -.BR bpt ", " pt ", " in ", " cm -) - -.TP 5 -.B \-\^z compression_level -Set the compression level to -.IR compression_level . -Compressions levels range from 0 (no compression) to -9 (maximum compression) and correspond to the values understood by zlib. - -.SH ENVIRONMENT - -.B Dvipdfm -uses the -.B kpathsea -library for locating the files that it opens. Hence, -the environment variables documented in the -.I Kpathsea library -documentation influence -.B dvipdfm. - -Dvipdfm also reads the following environment variables: - -.TP 5 -TMP -The directory to search for thumbnail images of each page. - -.SH FILES -The precise location of the following files is determined by the -.I Kpathsea library -configuration. The location may be determined by using kpsewhich, e.g., -.nf -.B kpsewhich \-progname=dvipdfm \-format='other text files' config -.fi - -.TP 5 -.I config -Startup options - -.TP 5 -.I t1fonts.map -The default font map file (this name may be changed in the config file). - -.TP 5 -.I *.tfm -TeX font metrics - -.TP 5 -.I *.vf -TeX virtual font files - -.TP 5 -.I *.pfb -PostScript Type 1 font files - -.TP 5 -.I -texmf.cnf -The Kpathsea library configuration file. -The location of this file may be found by typing -.nf -.B kpsewhich texmf.cnf -.fi - - -.SH "SEE ALSO" -.BR tex "(1), " dvips "(1), " groff "(1), " grodvi "(1), " pic "(1), " -and the -.I "Kpathsea library" -info documentation. - -.SH AUTHOR -Mark A. Wicks <mwicks@kettering.edu> - diff --git a/Build/source/texk/dvipdfm/dvipdfm.c b/Build/source/texk/dvipdfm/dvipdfm.c deleted file mode 100644 index 02b81ad906b..00000000000 --- a/Build/source/texk/dvipdfm/dvipdfm.c +++ /dev/null @@ -1,649 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999, 2007, 2008 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include <string.h> -#include <limits.h> -#include <ctype.h> -#include "config.h" -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "dvi.h" -#include "pdfdoc.h" -#include "pdfdev.h" -#include "encodings.h" -#include "type1.h" -#include "ttf.h" -#include "colorsp.h" -#include "pdfspecial.h" -#include "pdfparse.h" -#include "vf.h" -#include "pkfont.h" -#include "thumbnail.h" -#include "psimage.h" -#include "tfm.h" - -struct rect -{ - double width; - double height; -}; -typedef struct rect rect; - -struct -{ - char *s; - struct rect data; -} paper_sizes[] = { - {"letter" , { 612.0, 792.0}}, - {"legal" , { 612.0, 1008.0}}, - {"ledger" , { 1224.0, 792.0}}, - {"tabloid" , { 792.0, 1224.0}}, - {"a5" , { 420.91, 595.27}}, - {"a4" , { 595.27, 841.82}}, - {"a3" , { 841.82, 1190.16}}}; - -static rect get_paper_size (char *string) -{ - int i; - for (i=0; i<sizeof(paper_sizes)/sizeof(paper_sizes[0]); i++) { - if (!strcmp (string, paper_sizes[i].s)) - break; - } - if (i == sizeof(paper_sizes)/sizeof(paper_sizes[0])) - ERROR ("Paper size is invalid"); - return paper_sizes[i].data; -} - - -char *dvi_filename = NULL, *pdf_filename = NULL; -static void set_default_pdf_filename(void) -{ - const char *dvi_base; -#ifdef HAVE_XBASENAME - dvi_base = xbasename (dvi_filename); -#else - dvi_base = basename (dvi_filename); -#endif - if (strlen (dvi_base) < 5 || strncmp (".dvi", dvi_base+strlen(dvi_base)-4, 4)) - { - pdf_filename = NEW (strlen(dvi_base)+5, char); - strcpy (pdf_filename, dvi_base); - strcat (pdf_filename, ".pdf"); - } else - { - pdf_filename = NEW (strlen(dvi_base)+1, char); - strncpy (pdf_filename, dvi_base, strlen(dvi_base)-4); - strcpy (pdf_filename+strlen(dvi_base)-4, ".pdf"); - } -} -static void usage (void) -{ - fprintf (stdout, "\n%s, version %s, Copyright (C) 1998, 1999, 2007 by Mark A. Wicks\n", PACKAGE, VERSION); - fprintf (stdout, "dvipdfm comes with ABSOLUTELY NO WARRANTY.\n"); - fprintf (stdout, "This is free software, and you are welcome to redistribute it\n"); - fprintf (stdout, "under certain conditions. Details are distributed with the software.\n"); - fprintf (stdout, "\nUsage: dvipdfm [options] dvifile\n"); - fprintf (stdout, "-c \tIgnore color specials (for B&W printing)\n"); - fprintf (stdout, "-f filename\tSet font map file name [t1fonts.map]\n"); - fprintf (stdout, "-o filename\tSet output file name [dvifile.pdf]\n"); - fprintf (stdout, "-l \t\tLandscape mode\n"); - fprintf (stdout, "-m number\tSet additional magnification\n"); - fprintf (stdout, "-p papersize\tSet papersize (letter, legal,\n"); - fprintf (stdout, " \tledger, tabloid, a4, or a3) [letter]\n"); - fprintf (stdout, "-r resolution\tSet resolution (in DPI) for raster fonts [600]\n"); - fprintf (stdout, "-s pages\tSelect page ranges (-)\n"); - fprintf (stdout, "-t \tEmbed thumbnail images\n"); - fprintf (stdout, "-d \tRemove thumbnail images when finished\n"); - fprintf (stdout, "-x dimension\tSet horizontal offset [1.0in]\n"); - fprintf (stdout, "-y dimension\tSet vertical offset [1.0in]\n"); - fprintf (stdout, "-e \tDisable partial font embedding [default is enabled])\n"); - fprintf (stdout, "-z number\tSet compression level (0-9) [default is 9])\n"); - fprintf (stdout, "-v \tBe verbose\n"); - fprintf (stdout, "-vv \tBe more verbose\n"); - fprintf (stdout, "\nAll dimensions entered on the command line are \"true\" TeX dimensions.\n"); - fprintf (stdout, "Argument of \"-s\" lists physical page ranges separated by commas, e.g., \"-s 1-3,5-6\"\n\n"); - exit(1); -} - -static double paper_width = 612.0, paper_height = 792.0; -static char landscape_mode = 0; -static char ignore_colors = 0; -static double mag = 1.0, x_offset=72.0, y_offset=72.0; -static int font_dpi = 600; -static int really_quiet = 0; - -struct page_range -{ - unsigned int first, last; -} *page_ranges = NULL; -int max_page_ranges = 0, num_page_ranges = 0; - -void set_landscape_mode (void) -{ - dev_set_page_size (paper_height, paper_width); -} - -#define pop_arg() {argv += 1; argc -= 1;} -static void do_args (int argc, char *argv[]) -{ - char *flag; - while (argc > 0 && *argv[0] == '-') { - for (flag=argv[0]+1; *flag != 0; flag++) { - switch (*flag) { - case 'D': - if (argc < 2) { - fprintf (stderr, "PS->PDF conversion command line template missing\n\n"); - usage(); - } - set_distiller_template(argv[1]); - pop_arg(); - break; - case 'r': - if (argc < 2) { - fprintf (stderr, "\nResolution specification missing a number\n\n"); - usage(); - } - { - char *result, *end, *start = argv[1]; - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL && start == end) { - font_dpi = (int) atof (result); - } - else { - fprintf (stderr, "\nError in number following resolution specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - } - pop_arg(); - break; - case 'm': - if (argc < 2) { - fprintf (stderr, "\nMagnification specification missing a number\n\n"); - usage(); - } - { - char *result, *end, *start = argv[1]; - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL && start == end) { - mag = atof (result); - } - else { - fprintf (stderr, "\nError in number following magnification specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - } - pop_arg(); - break; - case 'g': - if (argc < 2) { - fprintf (stderr, "\nAnnotation \"grow\" specification missing a number\n\n"); - usage(); - } - { - char *result, *end, *start = argv[1]; - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL && start == end) { - pdf_special_set_grow (atof (result)); - } - else { - fprintf (stderr, "\nError in number following magnification specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - } - pop_arg(); - break; - case 'x': - if (argc < 2) { - fprintf (stderr, "\nX Offset specification missing a number\n\n"); - usage(); - } - { - char *result, *end, *start = argv[1]; - double unit; - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL) { - x_offset = atof (result); - } - else { - fprintf (stderr, "\nError in number following xoffset specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - unit = parse_one_unit(&start, end); - if (unit > 0.0) { - x_offset *= unit; - } - else { - fprintf (stderr, "\nError in dimension specification following xoffset\n\n"); - usage(); - } - } - pop_arg(); - break; - case 'y': - if (argc < 2) { - fprintf (stderr, "\nY offset specification missing a number\n\n"); - usage(); - } - { - char *result, *end, *start = argv[1]; - double unit; - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL) { - y_offset = atof (result); - } - else { - fprintf (stderr, "\nError in number following yoffset specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - unit = parse_one_unit(&start, end); - if (unit > 0.0) { - y_offset *= unit; - } - else { - fprintf (stderr, "\nError in dimension specification following yoffset\n\n"); - usage(); - } - } - pop_arg(); - break; - case 'o': - if (argc < 2) - ERROR ("Missing output file name"); - pdf_filename = NEW (strlen(argv[1])+1,char); - strcpy (pdf_filename, argv[1]); - pop_arg(); - break; - case 's': - { - char *result, *end, *start = argv[1]; - if (argc < 2) - ERROR ("Missing page selection specification"); - end = start + strlen (argv[1]); - while (start < end) { - /* Enlarge page range table if necessary */ - if (num_page_ranges >= max_page_ranges) { - max_page_ranges += 4; - page_ranges = RENEW (page_ranges, max_page_ranges, - struct page_range); - } - skip_white (&start, end); - page_ranges[num_page_ranges].first = 0; - if ((result = parse_unsigned (&start, end))) { - page_ranges[num_page_ranges].first = atoi(result)-1; - page_ranges[num_page_ranges].last = - page_ranges[num_page_ranges].first; - RELEASE(result); - } - skip_white (&start, end); - if (*start == '-') { - start += 1; - page_ranges[num_page_ranges].last = UINT_MAX; - skip_white (&start, end); - if (start < end && - ((result = parse_unsigned (&start, end)))) { - page_ranges[num_page_ranges].last = atoi(result)-1; - RELEASE (result); - } - } - num_page_ranges += 1; - skip_white (&start, end); - if (start < end && *start == ',') { - start += 1; - continue; - } - skip_white (&start, end); - if (start < end) { - fprintf (stderr, "Page selection? %s", start); - ERROR ("Bad page range specification"); - } - } - pop_arg(); - } - break; - case 't': - { -#ifdef HAVE_LIBPNG - pdf_doc_enable_thumbnails (); -#else - ERROR ("The thumbnail option requires libpng, which you apparently don't have."); -#endif /* HAVE_LIBPNG */ - } - break; - case 'd': - { -#ifdef HAVE_LIBPNG - thumb_remove (); -#else - ERROR ("The thumbnail option requires libpng, which you apparently don't have."); -#endif /* HAVE_LIBPNG */ - } - break; - case 'p': - { - struct rect paper_size; - if (argc < 2) - ERROR ("Missing paper size"); - paper_size = get_paper_size (argv[1]); - paper_width = paper_size.width; - paper_height = paper_size.height; - pop_arg(); - } - break; - case 'c': - ignore_colors = 1; - break; - case 'l': - landscape_mode = 1; - break; - case 'f': - dev_read_mapfile (argv[1]); - pop_arg(); - break; - case 'e': - type1_disable_partial(); - break; - case 'q': - really_quiet = 1; - break; - case 'v': - encoding_set_verbose(); - dev_set_verbose(); - dvi_set_verbose(); - type1_set_verbose(); - vf_set_verbose(); - pk_set_verbose(); - pdf_obj_set_verbose(); - pdf_doc_set_verbose(); - tfm_set_verbose(); -#ifdef HAVE_TTF_FORMATS - ttf_set_verbose(); -#endif - break; - case 'V': - { - unsigned level = 2; - if (isdigit (*(flag+1))) { - level = *(++flag) - '0'; - } else { - char *result, *end, *start = argv[1]; - if (argc < 2) { - fprintf (stderr, "\nVersion specification missing number (2, 3, ...)\n\n"); - usage(); - } - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL && start == end) { - level = (int) atof (result); - } - else { - fprintf (stderr, "\nError in number following version specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - pop_arg(); - } - if (level >= 2) { - pdf_set_version(level); - } else { - fprintf (stderr, "\nNumber following version specification is out of range\n\n"); - } - } - break; - case 'z': - { - int level = 9; -#ifndef HAVE_ZLIB - fprintf (stderr, "\nYou don't have compression compiled in. Possibly libz wasn't found by configure.\nCompression specification will be ignored.\n\n"); -#endif /* HAVE_ZLIB */ - if (isdigit (*(flag+1))) { - level = *(++flag) - '0'; - } else { - char *result, *end, *start = argv[1]; - if (argc < 2) { - fprintf (stderr, "\nCompression specification missing number for level\n\n"); - usage(); - } - end = start + strlen(argv[1]); - result = parse_number (&start, end); - if (result != NULL && start == end) { - level = (int) atof (result); - } - else { - fprintf (stderr, "\nError in number following compression specification\n\n"); - usage(); - } - if (result != NULL) { - RELEASE (result); - } - pop_arg(); - } - if (level >= 0 && level <= 9) { - pdf_obj_set_compression(level); - } else { - fprintf (stderr, "\nNumber following compression specification is out of range\n\n"); - } - } - break; - default: - usage(); - } - } - argc -= 1 ; - argv += 1; - } - if (argc > 1) { - fprintf (stderr, "\nMultiple dvi filenames?\n\n"); - usage(); - } - /* The only legitimate way to have argc == 0 here is - is do_args was called from config file. In that case, there is - no dvi file name. Check for that case */ - if (argc > 0) { - if (strncmp (".dvi", argv[0]+strlen(argv[0])-4, 4)) { - dvi_filename = NEW (strlen (argv[0])+1+4, char); - strcpy (dvi_filename, argv[0]); - strcat (dvi_filename, ".dvi"); - } - else { - dvi_filename = NEW (strlen (argv[0])+1, char); - strcpy (dvi_filename, argv[0]); - } - } -} - - -static void cleanup(void) -{ - RELEASE (dvi_filename); - RELEASE (pdf_filename); - if (page_ranges) - RELEASE (page_ranges); - psimage_close(); -} - -static char *config_file_name = "config"; -static void read_config_file (void) -{ - char *full_config_name, *start, *end; - char *argv[2], *option; - FILE *config_file; - - if ((full_config_name = kpse_find_file (config_file_name, - kpse_program_text_format, - true)) == NULL) { - return; - } - if (!(config_file = MFOPEN (full_config_name, FOPEN_R_MODE))) { - fprintf (stderr, "\nError opening configuration file. Continuing with defaults.\n"); - return; - } - while ((start = mfgets (work_buffer, WORK_BUFFER_SIZE, - config_file))) { - int argc = 0; - end = work_buffer+strlen(work_buffer); - skip_white (&start, end); - if (start >= end) - continue; - /* Build up an argument list as if it were passed on the command - line */ - if ((option = parse_ident (&start, end))) { - argc = 1; - argv[0] = NEW (strlen(option)+2, char); - strcpy (argv[0]+1, option); - RELEASE (option); - *argv[0] = '-'; - skip_white (&start, end); - if (start < end) { - argc += 1; - if (*start == '"') { - argv[1] = parse_c_string (&start, end); - } - else - argv[1] = parse_ident (&start, end); - } - } - do_args (argc, argv); - while (argc > 0) { - RELEASE (argv[--argc]); - } - } -} - -void error_cleanup (void) -{ - pdf_error_cleanup(); - remove (pdf_filename); - fprintf (stderr, "\nOutput file removed.\n"); -} - -int CDECL main (int argc, char *argv[]) -{ - int i; - int at_least_one_page = 0; - if (argc < 2) { - fprintf (stderr, "\nNo dvi filename specified.\n\n"); - usage(); - return 1; - } -#ifdef HAVE_KPATHSEA - kpse_set_program_name (argv[0], NULL); -#endif - - argv+=1; - argc-=1; - - /* Process config file, if any */ - read_config_file(); - - do_args (argc, argv); - -#ifdef HAVE_KPATHSEA - kpse_init_prog ("", font_dpi, NULL, NULL); - pk_set_dpi (font_dpi); - kpse_set_program_enabled (kpse_pk_format, true, kpse_src_texmf_cnf); -#endif - - if (!dvi_filename) { - fprintf (stderr, "\nNo dvi filename specified.\n\n"); - usage(); - } - - /* Check for ".dvi" at end of argument name */ - if (pdf_filename == NULL) - set_default_pdf_filename(); - - if (!really_quiet) - fprintf (stdout, "\n%s -> %s\n", dvi_filename, pdf_filename); - - dvi_init (dvi_filename, pdf_filename, mag, x_offset, y_offset); - - if (ignore_colors) { - color_special_ignore_colors(); - pdf_special_ignore_colors(); - } - - if (landscape_mode) - dev_set_page_size (paper_height, paper_width); - else - dev_set_page_size (paper_width, paper_height); - - if ((num_page_ranges)) - for (i=0; i<num_page_ranges; i++) { - unsigned j; - if (page_ranges[i].first <= page_ranges[i].last) - for (j=page_ranges[i].first; j<=page_ranges[i].last && j<dvi_npages(); j++) { - fprintf (stderr, "[%d", j+1); - dvi_do_page (j); - at_least_one_page = 1; - fprintf (stderr, "]"); - } - else - for (j=page_ranges[i].first; - j>=page_ranges[i].last && j<dvi_npages(); j--) { - fprintf (stderr, "[%d", j+1); - dvi_do_page (j); - at_least_one_page = 1; - fprintf (stderr, "]"); - } - } - if (!at_least_one_page && num_page_ranges) { - fprintf (stderr, "No pages fall in range!\nFalling back to entire document.\n"); - } - if (!at_least_one_page) /* Fall back to entire document */ - for (i=0; i<dvi_npages(); i++) { - fprintf (stderr, "[%d", i+1); - dvi_do_page (i); - fprintf (stderr, "]"); - } - dvi_close(); - fprintf (stderr, "\n"); - cleanup(); - return 0; -} - diff --git a/Build/source/texk/dvipdfm/dvipdfm.h b/Build/source/texk/dvipdfm/dvipdfm.h deleted file mode 100644 index 7aa012d4387..00000000000 --- a/Build/source/texk/dvipdfm/dvipdfm.h +++ /dev/null @@ -1,33 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef DVIDPFM_H -#define DVIPDFM_H - -extern void set_landscape_mode (void); - -#endif /* DVIPDFM_H */ - - - diff --git a/Build/source/texk/dvipdfm/dvipdft b/Build/source/texk/dvipdfm/dvipdft deleted file mode 100755 index db53bd2f5a0..00000000000 --- a/Build/source/texk/dvipdfm/dvipdft +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/sh - -# -# dvipdft, completely rewtitten by Thomas Esser for teTeX after an -# original script by Mark A. Wicks -# -# Thomas Esser. Public Domain. -# - -# This script makes a first (fast) run with dvipdfm, then calls gs on -# the resulting pdf file to get the thumbnails and finally calls dvipdfm. - -test -f /bin/sh5 && test -z "$RUNNING_SH5" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } -unset RUNNING_SH5 - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -progname=dvipdft -version=1111942378 # seconds since `00:00:00 1970-01-01 UTC' - # date '+%s' (with GNU date) - -help="Usage: $progname [options] dvifile - $progname --help - $progname --version" - -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ - -quoteit() -{ - echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@" -} - -# process args 1 to (n-1) and scan for a -o argument keep a properly -# quoted backup of the options, so that they can be restored later -unset s outfile -while test $# -gt 1; do - case $1 in - -o) outfile=$2;; - esac - s="$s${s+ }"`quoteit "$1"` - shift -done - -# check for last argument -case $1 in - --help) - echo "$help" - exit 0 - ;; - --version) - echo "$progname version $version by Thomas Esser" - exit 0 - ;; - "") - echo "$help" - exit 1 - ;; -esac - -# args 1 to (n-1) are gone, last one must be the dvifile -dvifile=$1 - -# outfile comes from -o argument, else it is derived from the input file -test -n "$outfile" \ - || outfile=`echo "$dvifile" | sed 's@.*/@@; s@\.dvi$@@; s@$@.pdf@'` - -# outBase is part of the thumbname files just as dvipdfm expects them: -outBase=`echo "$outfile" | sed 's@\.pdf$@@'` - -# restore args 1 to (n-1): -eval set x "$s"; shift - -# Run dvipdfm with the fastest options for the first pass -echo "$progname: running dvipdfm $@ -e -z0 $dvifile" >&2 -dvipdfm ${1+"$@"} -e -z0 "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 - exit 1 -} - -# before we create the tmpdir, set trap for cleanup -trap ' - rm -rf $tmpdir - exit 1 -' 1 2 3 7 13 15 - -mkdir "$tmpdir" || { - echo "$progname: failed to create temp directory." >&2 - exit 1 -} - -# if outBase contains a /, we might need to create a directory -case $outBase in - */*) - fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'` - test -d "$fq" || mkdir -p "$fq" || { - echo "$progname: failed to create temp thumbnail directory." >&2 - rm -rf $tmpdir - exit 1 - } - ;; -esac - -# run gs -echo "$progname: running gs" >&2 -gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \ - -sOutputFile="$tmpdir/$outBase.%d" "$outfile" || { - echo "$progname: gs failed." >&2 - rm -rf $tmpdir - exit 1 -} - -# run dvipdfm with the users specified options for the last pass -echo "$progname: running dvipdfm -dt $@ $dvifile" >&2 -TMP=$tmpdir dvipdfm -dt ${1+"$@"} "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 - rm -rf $tmpdir - exit 1 -} - -# nothing failed, so cleanup and report success to caller -rm -rf $tmpdir -exit 0 diff --git a/Build/source/texk/dvipdfm/dvipdft.1 b/Build/source/texk/dvipdfm/dvipdft.1 deleted file mode 100644 index 803db249e4e..00000000000 --- a/Build/source/texk/dvipdfm/dvipdft.1 +++ /dev/null @@ -1,36 +0,0 @@ -.TH "dvipdft" "1" "May 2004" "teTeX" "teTeX" -.PP -.SH "NAME" -dvipdft \- create thumbnail images for use with dvipdfm -.PP -.SH "SYNOPSIS" -.PP -\fBdvipdft\fP [ \fI DVIPDFM-OPTIONS\fP \&.\&.\&. ] \fI filename.dvi\fP -.PP -.SH "DESCRIPTION" -.PP -\fBdvipdft\fP creates thumbnail pictures of the pages in your file -and subsequently runs dvipdfm to create a PDF file with these -thumbnails. -.PP -.SH "OPTIONS" -.HP -All options are simply handed on to dvipdfm -.HP -.SH "SEE ALSO" -.IP -\fBdvipdfm\fP(1) -.PP -.SH "BUGS" -.PP -None known\&. -.PP -.SH "AUTHOR" -.PP -\fBdvipdft\fP was written by Mark A. Wicks and Thomas Esser. -.PP -This manual page was written by Frank Küster <frank@kuesterei\&.ch>, -for the Debian GNU/Linux system\&. It may be used by others without -contacting the author\&. Any mistakes or omissions in the manual page -are my fault; inquiries about or corrections to this manual page -should be directed to me (and not to the primary author)\&. diff --git a/Build/source/texk/dvipdfm/ebb.1 b/Build/source/texk/dvipdfm/ebb.1 deleted file mode 100644 index 1a44ed97e20..00000000000 --- a/Build/source/texk/dvipdfm/ebb.1 +++ /dev/null @@ -1,34 +0,0 @@ -.TH "ebb" "1" "May 2004" "teTeX" "teTeX" -.PP -.SH "NAME" -ebb \- extract a bounding box from JPEG, PNG, and PDF files -.PP -.SH "SYNOPSIS" -.PP -\fBebb\fP [ \fI -v\fP | \fI-b\fP ] \fI graphic_file\fP -.PP -.SH "DESCRIPTION" -.PP -\fBebb\fP extracts the bounding box from JPEG, PNG, and PDF files -(with lower- or uppercase extensions) and writes it into a file with -the extension \fB.bb\fP, together with some header information. These -files can then be used by \fBdvipdfm\fP or other programs. -.PP -.SH "OPTIONS" -.HP -\fB\-v\fR : be verbose -.HP -\fB\-b\fR : Write .bb file in binary mode (has no effect on Linux and -other systems conforming to POSIX). -.HP -.PP -.SH "AUTHOR" -.PP -\fBebb\fP was written by Mark A. Wicks. -.PP -This manual page was written by Frank Küster <frank@kuesterei\&.ch>, -for the Debian GNU/Linux system\&. It may be used and modified by -others without contacting the author\&. Any mistakes or omissions in -the manual page are my fault; inquiries about or corrections to this -manual page should be directed to me (and not to the primary -author)\&. diff --git a/Build/source/texk/dvipdfm/ebb.c b/Build/source/texk/dvipdfm/ebb.c deleted file mode 100644 index 6cc3f32a054..00000000000 --- a/Build/source/texk/dvipdfm/ebb.c +++ /dev/null @@ -1,327 +0,0 @@ -/* $Header$ - - This is ebb, a bounding box extraction program. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ -#include <stdio.h> -#include <time.h> -#include <string.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "numbers.h" -#include "pdfobj.h" -#include "jpeg.h" -#include "pdfparse.h" - -#include "config.h" - -#ifdef HAVE_LIBPNG -#include "pngimage.h" -#include <png.h> -#endif - -#define EBB_PROGRAM "ebb" -#define EBB_VERSION "Version 0.5.2" - -static void usage (void) -{ - fprintf (stderr, "%s, version %s, Copyright (C) 1998, 1999 by Mark A. Wicks\n", - EBB_PROGRAM, EBB_VERSION); - fprintf (stderr, "ebb comes with ABSOLUTELY NO WARRANTY.\n"); - fprintf (stderr, "This is free software, and you are welcome to redistribute it\n"); - fprintf (stderr, "under certain conditions. Details are distributed with the software.\n"); - fprintf (stderr, "\nUsage: ebb [-v] [-b] [files]\n"); - fprintf (stderr, "\t-b\t\tWrite .bb file in binary mode\n"); - fprintf (stderr, "\t-v\t\tVerbose\n"); - exit(1); -} - -static char verbose = 0; - -static void do_time(FILE *file) -{ - time_t current_time; - struct tm *bd_time; - time(¤t_time); - bd_time = localtime(¤t_time); - fprintf (file, "%%%%CreationDate: %s\n", asctime (bd_time)); -} - -char *extensions[] = { - ".jpeg", ".JPEG", ".jpg", ".JPG", ".pdf", ".PDF", ".png", ".PNG" -}; - -static char *make_bb_filename (const char *name) -{ - int i; - char *result; -#ifdef HAVE_XBASENAME - name = xbasename (name); -#else - name = basename (name); -#endif - for (i=0; i<sizeof(extensions)/sizeof(extensions[0]); i++) { - if (strlen (extensions[i]) < strlen(name) && - !strncmp (name+strlen(name)-strlen(extensions[i]), - extensions[i], strlen(extensions[i]))) - break; - } - if (i == sizeof(extensions)/sizeof(extensions[0])) { - fprintf (stderr, - "ebb: Warning: %s: Filename does not end in a recognizeable extension.\n", - name); - result = NEW (strlen(name)+3, char); - strcpy (result, name); - } - else { /* Remove extension */ - result = NEW (strlen(name)+3-strlen(extensions[i])+1, char); - strncpy (result, name, strlen(name)-strlen(extensions[i])); - result[strlen(name)-strlen(extensions[i])] = 0; - } - strcat (result, ".bb"); - return result; -} - -static char *bb_file_mode = FOPEN_W_MODE; - -static void write_bb (char *filename, int bbllx, int bblly, int bburx, - int bbury) -{ - char *bbfilename; - FILE *bbfile; - if (verbose) - fprintf (stderr, "okay\n"); - bbfilename = make_bb_filename (filename); - if ((bbfile = MFOPEN (bbfilename, bb_file_mode)) == NULL) { - fprintf (stderr, "Unable to open output file: %s\n", bbfilename); - return; - } - if (verbose) { - fprintf (stderr, "Writing to %s: ", bbfilename); - fprintf (stderr, "Bounding box: %d %d %d %d\n", bbllx, bblly, - bburx, bbury); - } - fprintf (bbfile, "%%%%Title: %s\n", filename); - fprintf (bbfile, "%%%%Creator: %s %s\n", EBB_PROGRAM, EBB_VERSION); - fprintf (bbfile, "%%%%BoundingBox: %d %d %d %d\n", - bbllx, bblly, bburx, bbury); - do_time(bbfile); - RELEASE (bbfilename); - MFCLOSE (bbfile); - return; -} - - -#define PIX2PT (72.0/100.0) -void do_jpeg (FILE *file, char *filename) -{ - struct jpeg *jpeg; - if (verbose) { - fprintf (stderr, "%s looks like a JPEG file...", filename); - } - jpeg = NEW (1, struct jpeg); - jpeg -> file = file; - if (!jpeg_headers (jpeg)) { - fprintf (stderr, "\n%s: Corrupt JPEG file?\n", filename); - MFCLOSE (file); - RELEASE (jpeg); - return; - } - write_bb (filename, 0, 0, - ROUND(jpeg -> width * PIX2PT,1.0), - ROUND(jpeg -> height * PIX2PT,1.0)); - RELEASE (jpeg); - return; -} -#ifdef HAVE_LIBPNG -void do_png (FILE *file, char *filename) -{ - png_structp png_ptr; - png_infop info_ptr; - unsigned long width, height; - rewind (file); - if (verbose) { - fprintf (stderr, "%s looks like a PNG file...", filename); - } - if (!(png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, - NULL, NULL, NULL)) || - !(info_ptr = png_create_info_struct (png_ptr))) { - fprintf (stderr, "\n\n%s: Corrupt PNG file?\n", filename); - if (png_ptr) - png_destroy_read_struct(&png_ptr, NULL, NULL); - MFCLOSE (file); - return; - } - png_init_io (png_ptr, file); - /* Read PNG header */ - png_read_info (png_ptr, info_ptr); - width = png_get_image_width(png_ptr, info_ptr); - height = png_get_image_height(png_ptr, info_ptr); - write_bb (filename, 0, 0, - ROUND(width * PIX2PT,1.0), - ROUND(height * PIX2PT,1.0)); - if (info_ptr) - png_destroy_info_struct(png_ptr, &info_ptr); - if (png_ptr) - png_destroy_read_struct(&png_ptr, NULL, NULL); - return; -} -#endif /* HAVE_LIBPNG */ - -void do_pdf (FILE *file, char *filename) -{ - pdf_obj *trailer, *catalog, *page_tree, *media_box, *crop_box; - pdf_obj *kids_ref, *kids, *tmp1; - if (verbose) { - fprintf (stderr, "%s looks like a PDF file...", filename); - } - if ((trailer = pdf_open (file)) == NULL) { - fprintf (stderr, "%s: Corrupt PDF file?\n", filename); - return; - }; - if ((catalog = pdf_deref_obj(pdf_lookup_dict (trailer,"Root"))) == - NULL) { - fprintf (stderr, "\nCatalog isn't where I expect it.\n"); - return; - } - /* Got catalog, so done with trailer */ - pdf_release_obj (trailer); - /* Lookup page tree in catalog */ - page_tree = pdf_deref_obj (pdf_lookup_dict (catalog, "Pages")); - pdf_release_obj (catalog); - /* Media box can be inherited so start looking for it now */ - media_box = pdf_deref_obj (pdf_lookup_dict (page_tree, "MediaBox")); - crop_box = pdf_deref_obj (pdf_lookup_dict (page_tree, "CropBox")); - while ((kids_ref = pdf_lookup_dict (page_tree, "Kids")) != NULL) { - kids = pdf_deref_obj (kids_ref); - pdf_release_obj (page_tree); - page_tree = pdf_deref_obj (pdf_get_array(kids, 0)); - pdf_release_obj (kids); - /* Replace MediaBox if it's here */ - tmp1 = pdf_deref_obj(pdf_lookup_dict (page_tree, "MediaBox")); - if (tmp1 && media_box) - pdf_release_obj (media_box); - if (tmp1) - media_box = tmp1; - /* Likewise for CropBox */ - tmp1 = pdf_deref_obj(pdf_lookup_dict (page_tree, "CropBox")); - if (tmp1 && crop_box) - pdf_release_obj (crop_box); - if (tmp1) - crop_box = tmp1; - } - /* At this point, we should have the media box for the first page */ - { - pdf_obj *bbllx, *bblly, *bburx, *bbury; - if (crop_box) { - pdf_release_obj (media_box); - media_box = crop_box; - crop_box = NULL; - } - if ((bbllx = pdf_get_array (media_box, 0)) == NULL || - (bblly = pdf_get_array (media_box, 1)) == NULL || - (bburx = pdf_get_array (media_box, 2)) == NULL || - (bbury = pdf_get_array (media_box, 3)) == NULL) { - fprintf (stderr, "Invalid mediabox\n"); - } else - write_bb (filename, - (int) pdf_number_value (bbllx), (int) pdf_number_value (bblly), - (int) pdf_number_value (bburx), (int) pdf_number_value (bbury)); - } - pdf_release_obj (media_box); - pdf_release_obj (page_tree); - pdf_close(); -} - -FILE *inputfile; - -int main (int argc, char *argv[]) -{ - kpse_set_program_name (argv[0], NULL); - argc -= 1; - argv += 1; - if (argc == 0) - usage(); - while (argc > 0 && *argv[0] == '-') { - switch (*(argv[0]+1)) { - case 'b': - bb_file_mode = FOPEN_WBIN_MODE; - case 'v': - verbose = 1; - argc -= 1; - argv += 1; - break; - case 'h': - usage(); - argc -= 1; - argv += 1; - break; - default: - usage(); - } - } - for (; argc > 0; argc--, argv++) { - char *kpse_file_name; - if (!(kpse_file_name = kpse_find_pict(argv[0])) || - (inputfile = MFOPEN (kpse_file_name, FOPEN_RBIN_MODE)) == NULL) { - fprintf (stderr, "Can't find file (%s)...skipping\n", argv[0]); - continue; - } - if (check_for_jpeg (inputfile)) { - do_jpeg(inputfile, kpse_file_name); - MFCLOSE (inputfile); - continue; - } - if (check_for_pdf (inputfile)) { - do_pdf(inputfile, kpse_file_name); - MFCLOSE (inputfile); - continue; - } -#ifdef HAVE_LIBPNG - if (check_for_png (inputfile)) { - do_png(inputfile, kpse_file_name); - MFCLOSE (inputfile); - continue; - } -#endif /* HAVE_LIBPNG */ - fprintf (stderr, "Can't handle file type for file named %s\n", - argv[0]); - } - return 0; -} - -/* The following is here to prevent a link error. Other routines - that get linked with ebb call this, but it isn't actually needed - for ebb */ - -pdf_obj *get_reference (char **start, char *end) -{ - fprintf (stderr, "get_reference(): This should never have been called\n"); - return NULL; -} - -void error_cleanup(void) -{ - /* For now, this is a do nothing routine, but the stub is required - by error.h */ - return; -} diff --git a/Build/source/texk/dvipdfm/encodings.c b/Build/source/texk/dvipdfm/encodings.c deleted file mode 100755 index aece0f785dc..00000000000 --- a/Build/source/texk/dvipdfm/encodings.c +++ /dev/null @@ -1,224 +0,0 @@ - -#include <stdio.h> -#include "pdflimits.h" -#include "pdfobj.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "pdfparse.h" -#include "encodings.h" - - -static unsigned char verbose = 0; - -void encoding_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - -struct encoding { - char *enc_name; - /* The following array isn't very efficient. It is constructed - by peeling the names from the encoding object. It makes - it easier to construct an array in this format when the - encoding must be obtained directly from the PFB file */ - char *glyphs[256]; - pdf_obj *encoding_ref; -} *encodings; -int num_encodings = 0, max_encodings=0; - -#include "winansi.h" - -pdf_obj *find_encoding_differences (pdf_obj *encoding) -{ - char filling = 0; - int i; - pdf_obj *result = pdf_new_array (); - pdf_obj *tmp; - for (i=0; i<256; i++) { - tmp = pdf_get_array (encoding, i); - if (tmp == NULL || tmp -> type != PDF_NAME) { - ERROR ("Encoding file may be incorrect\n"); - } - if (!strcmp (winansi_encoding[i], - pdf_name_value(tmp))) - filling = 0; - else{ - if (!filling) - pdf_add_array (result, pdf_new_number (i)); - filling = 1; - pdf_add_array (result, pdf_link_obj(tmp)); - } - } - return result; -} - -pdf_obj *make_differences_encoding (pdf_obj *encoding) -{ - int i; - int skipping = 1; - pdf_obj *tmp, *result = pdf_new_array (); - for (i=0; i<256; i++) { - tmp = pdf_get_array (encoding, i); - if (tmp && tmp -> type == PDF_NAME) { - if (strcmp (".notdef", pdf_name_value (tmp))) { /* If not - .notdef */ - if (skipping) { - pdf_add_array (result, pdf_new_number (i)); - } - pdf_add_array (result, pdf_link_obj(tmp)); - skipping = 0; - } else { - skipping = 1; - } - } else { - ERROR ("Encoding file may be incorrect\n"); - } - } - return result; -} - -static void save_glyphs (char **glyph, pdf_obj *encoding) -{ - int i; - char *glyph_name; - for (i=0; i<256; i++) { - glyph_name = pdf_string_value (pdf_get_array(encoding, i)); - glyph[i] = NEW (strlen(glyph_name)+1, char); - strcpy (glyph[i], glyph_name); - } -} - -int get_encoding (const char *enc_name) -{ - FILE *encfile = NULL; - char *full_enc_filename, *tmp; - pdf_obj *result, *result_ref; - long filesize; - int i; - /* See if we already have this saved */ - for (i=0; i<num_encodings; i++) - if (!strcmp (enc_name, encodings[i].enc_name)) - return i; - /* Guess not.. */ - /* Try base name before adding .enc. Someday maybe kpse will do - this */ - strcpy (tmp = NEW (strlen(enc_name)+5, char), enc_name); - strcat (tmp, ".enc"); - if ((full_enc_filename = kpse_find_file (enc_name, - kpse_enc_format, - 1)) == NULL && - (full_enc_filename = kpse_find_file (enc_name, - kpse_program_text_format, - 1)) == NULL && - (full_enc_filename = kpse_find_file (tmp, - kpse_enc_format, - 1)) == NULL && - (full_enc_filename = kpse_find_file (tmp, - kpse_program_text_format, - 1)) == NULL) { - sprintf (work_buffer, "Can't find encoding file: %s", enc_name) ; - ERROR (work_buffer); - } - RELEASE (tmp); - if ((encfile = MFOPEN (full_enc_filename, FOPEN_R_MODE)) == NULL || - (filesize = file_size (encfile)) == 0) { - sprintf (work_buffer, "Error opening encoding file: %s", enc_name) ; - ERROR (work_buffer); - } - if (verbose == 1) - fprintf (stderr, "(ENC:%s", enc_name); - if (verbose > 1) - fprintf (stderr, "(ENC:%s", full_enc_filename); - { /* Got one and opened it */ - char *buffer, *start, *end, *junk_ident; - pdf_obj *junk_obj, *encoding, *differences; - buffer = NEW (filesize, char); - fread (buffer, sizeof (char), filesize, encfile); - MFCLOSE (encfile); - start = buffer; - end = buffer + filesize; - start[filesize-1] = 0; - skip_white (&start, end); - while (start < end && *start != '[') { - if ((junk_ident = parse_ident (&start, end)) != NULL) - RELEASE (junk_ident); - else if ((junk_obj = parse_pdf_object (&start, end)) != NULL) - pdf_release_obj (junk_obj); - skip_white(&start, end); - } - if (start >= end || - (encoding = parse_pdf_array (&start, end)) == NULL) { - fprintf (stderr, "%s: ", enc_name); - ERROR ("Can't find an encoding in this file!\n"); - } - RELEASE (buffer); - /* Done reading file */ - if (verbose) { - fprintf (stderr, ")"); - } - /* differences = find_encoding_differences (encoding); */ - differences = make_differences_encoding (encoding); - /* Put the glyph names into a conventional array */ - if (num_encodings >= max_encodings) { - max_encodings += MAX_ENCODINGS; - encodings = RENEW (encodings, max_encodings, struct encoding); - } - save_glyphs (encodings[num_encodings].glyphs, encoding); - pdf_release_obj (encoding); - result = pdf_new_dict(); - pdf_add_dict (result, pdf_new_name ("Type"), - pdf_new_name ("Encoding")); - /* Some software doesn't like BaseEncoding key (e.g., FastLane) - so this code is commented out for the moment. It may reemerge in the - future */ - /* pdf_add_dict (result, pdf_new_name ("BaseEncoding"), - pdf_new_name ("WinAnsiEncoding")); */ - pdf_add_dict (result, pdf_new_name ("Differences"), - differences); - } - { - result_ref = pdf_ref_obj (result); - pdf_release_obj (result); - encodings[num_encodings].encoding_ref = result_ref; - encodings[num_encodings].enc_name = NEW (strlen(enc_name)+1, char); - strcpy (encodings[num_encodings].enc_name, enc_name); - return num_encodings++; - } -} - -pdf_obj *encoding_ref (int encoding_id) -{ - pdf_obj *result = NULL; - if (encoding_id >=0 && encoding_id < num_encodings) { - result = pdf_link_obj (encodings[encoding_id].encoding_ref); - } - return result; -} - -void encoding_flush_all (void) -{ - int i, j; - for (i=0; i<num_encodings; i++) { - RELEASE (encodings[i].enc_name); - pdf_release_obj (encodings[i].encoding_ref); - /* Release glyph names for this encoding */ - for (j=0; j<256; j++) { - RELEASE ((encodings[i].glyphs)[j]); - } - } - if (encodings) - RELEASE (encodings); -} - -char *encoding_glyph (int encoding_id, unsigned code) -{ - char *result = NULL; - if (encoding_id >= 0 && encoding_id < num_encodings && - code < 256) { - result = (encodings[encoding_id].glyphs)[code]; - } - return result; -} diff --git a/Build/source/texk/dvipdfm/encodings.h b/Build/source/texk/dvipdfm/encodings.h deleted file mode 100755 index e90d788d26b..00000000000 --- a/Build/source/texk/dvipdfm/encodings.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef ENCODINGS_H - -#define ENCODINGS_H - -extern void encoding_set_verbose(void); -extern pdf_obj *find_encoding_differences (pdf_obj *encoding); -extern pdf_obj *make_differences_encoding (pdf_obj *encoding); -extern int get_encoding (const char *enc_name); -extern void encoding_flush_all (void); -extern char *encoding_glyph (int encoding_id, unsigned code); -extern pdf_obj *encoding_ref (int encoding_id); - -#endif - - - - - - diff --git a/Build/source/texk/dvipdfm/epdf.c b/Build/source/texk/dvipdfm/epdf.c deleted file mode 100644 index a2e3d00c89d..00000000000 --- a/Build/source/texk/dvipdfm/epdf.c +++ /dev/null @@ -1,159 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "pdfobj.h" -#include "pdfdoc.h" -#include "pdfspecial.h" -#include "epdf.h" - -pdf_obj *pdf_include_page(FILE *image_file, struct xform_info *p, char *res_name) -{ - pdf_obj *trailer = NULL, *catalog = NULL, *page_tree = NULL; - pdf_obj *kids_ref, *kids; - pdf_obj *media_box = NULL, *crop_box = NULL, *resources = NULL, - *contents = NULL, *contents_ref = NULL; - pdf_obj *tmp1; -#ifdef MEM_DEBUG -MEM_START -#endif - if (!(trailer = pdf_open (image_file))) { - fprintf (stderr, "\nCorrupt PDF file?\n"); - } - - /* Now just lookup catalog location */ - /* Deref catalog */ - if (trailer && (catalog = pdf_deref_obj(pdf_lookup_dict (trailer,"Root"))) == - NULL) { - fprintf (stderr, "\nCatalog isn't where I expect it.\n"); - } - if (trailer) - pdf_release_obj (trailer); - - /* Lookup page tree in catalog */ - if (catalog) { - page_tree = pdf_deref_obj (pdf_lookup_dict (catalog, "Pages")); - /* Should be finished with catalog */ - pdf_release_obj (catalog); - } - /* Media box and resources can be inherited so start looking for - them here */ - if (page_tree) { - if ((tmp1 = pdf_lookup_dict (page_tree, "CropBox"))) - crop_box = pdf_deref_obj (tmp1); - if ((tmp1 = pdf_lookup_dict (page_tree, "MediaBox"))) - media_box = pdf_deref_obj (tmp1); - resources = pdf_deref_obj (pdf_lookup_dict (page_tree, "Resources")); - if (resources == NULL) { - resources = pdf_new_dict(); - } - while ((kids_ref = pdf_lookup_dict (page_tree, "Kids")) != NULL) { - kids = pdf_deref_obj (kids_ref); - pdf_release_obj (page_tree); - page_tree = pdf_deref_obj (pdf_get_array(kids, 0)); - pdf_release_obj (kids); - /* Replace MediaBox if it's here */ - tmp1 = pdf_deref_obj(pdf_lookup_dict (page_tree, "MediaBox")); - if (tmp1 && media_box) - pdf_release_obj (media_box); - if (tmp1) - media_box = tmp1; - /* Do same for CropBox */ - tmp1 = pdf_deref_obj(pdf_lookup_dict (page_tree, "CropBox")); - if (tmp1 && crop_box) - pdf_release_obj (crop_box); - if (tmp1) - crop_box = tmp1; - /* Add resources if they're here */ - tmp1 = pdf_deref_obj (pdf_lookup_dict (page_tree, "Resources")); - if (tmp1) { - pdf_merge_dict (tmp1, resources); - pdf_release_obj (resources); - resources = tmp1; - } - } - /* At this point, page_tree contains the first page. media_box, - crop_box, and resources should also be set. */ - /* If there's a crop_box, replace media_box with crop_box. - The rest of this routine assumes crop_box has been released */ - if (crop_box) { - pdf_release_obj (media_box); - media_box = crop_box; - crop_box = NULL; - } - /* This gets bit confusing. In the following code, - media_box is the box the image is cropped to. - The bounding box is the box the image is scaled to */ - /* If user did not supply bounding box, use media_box - (which may really be cropbox) as bounding box */ - /* Set the crop box parameters in the xform_info structure */ - p->c_llx = pdf_number_value (pdf_get_array (media_box, 0)); - p->c_lly = pdf_number_value (pdf_get_array (media_box, 1)); - p->c_urx = pdf_number_value (pdf_get_array (media_box, 2)); - p->c_ury = pdf_number_value (pdf_get_array (media_box, 3)); - - /* Adjust scaling and clipping information as necessary */ - pdf_scale_image (p); - - /* Set the media box to whatever pdf_scale_image() decided - for the crop box (which may be unchanged) */ - pdf_release_obj (media_box); - media_box = pdf_new_array (); - pdf_add_array (media_box, pdf_new_number (p->c_llx)); - pdf_add_array (media_box, pdf_new_number (p->c_lly)); - pdf_add_array (media_box, pdf_new_number (p->c_urx)); - pdf_add_array (media_box, pdf_new_number (p->c_ury)); - - if ((contents = - pdf_deref_obj(pdf_lookup_dict(page_tree,"Contents")))==NULL) { - fprintf (stderr, "\nNo Contents found\n"); - return NULL; - } - pdf_release_obj (page_tree); - } - /* Arrays of contents must be handled very differently (not implemented) */ - if (contents && contents -> type != PDF_ARRAY) { - doc_make_form_xobj (contents, media_box, - p->user_bbox? p->u_llx: 0.0, - p->user_bbox? p->u_lly: 0.0, - 1.0, 1.0, - resources, res_name); - } else { - fprintf (stderr, "\nIgnoring stream with with multiple segments\n"); - contents = NULL; - } - if (contents) { - contents_ref = pdf_ref_obj (contents); - pdf_release_obj (contents); - } - pdf_close (); -#ifdef MEM_DEBUG -MEM_END -#endif - return (contents_ref); -} - - diff --git a/Build/source/texk/dvipdfm/epdf.h b/Build/source/texk/dvipdfm/epdf.h deleted file mode 100644 index 7dfc10d005f..00000000000 --- a/Build/source/texk/dvipdfm/epdf.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _EPDF_H_ -#define _EPDF_H_ - -#include <stdio.h> -#include "pdfspecial.h" -#include "pdfobj.h" - -extern pdf_obj *pdf_include_page (FILE *file, struct xform_info *p, - char *res_name); - -#endif /* _EPDF_H_ */ diff --git a/Build/source/texk/dvipdfm/error.h b/Build/source/texk/dvipdfm/error.h deleted file mode 100644 index 6841bec087a..00000000000 --- a/Build/source/texk/dvipdfm/error.h +++ /dev/null @@ -1,45 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef _ERROR_H_ -#define _ERROR_H_ - -#include "system.h" - -extern void error_cleanup(); - -#define FATAL_ERROR -1 -#define NO_ERROR 0 - -#define ERROR(string) { \ - fprintf(stderr, "\n"); \ - fprintf (stderr, string); \ - fprintf (stderr, "\n"); \ - error_cleanup(); \ - exit(1);} -typedef int error_t; - -#endif /* _ERROR_H_ */ - diff --git a/Build/source/texk/dvipdfm/htex.c b/Build/source/texk/dvipdfm/htex.c deleted file mode 100644 index 3ad35594bee..00000000000 --- a/Build/source/texk/dvipdfm/htex.c +++ /dev/null @@ -1,258 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <string.h> -#include <stdlib.h> -#include <ctype.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "dvi.h" -#include "htex.h" -#include "pdfparse.h" -#include "pdfdoc.h" - -static int is_htex_special (char **start, char *end) -{ - skip_white(start, end); - if (end-*start >= strlen ("html:") && - !strncmp (*start, "html:", strlen("html:"))) { - *start += strlen("html:"); - return 1; - } - return 0; -} - -static void downcase (char *s) -{ - while (*s != 0) { - if (*s >= 'A' && *s <= 'Z') - *s = (*s-'A')+'a'; - s += 1; - } -} - - -#define ANCHOR 0 -#define IMAGE 1 -#define BASE 2 -#define END_ANCHOR 3 - -static char *tags[] = {"a", "img", "base" }; - -static int parse_html_tag (char **start, char *end) -{ - int result = -1; - char *token = NULL; - int closing = 0; - skip_white(start, end); - if (*start < end) { - if (**start == '/') { - (*start)++; - closing = 1; - } - if (*start < end && (token = parse_ident (start, end))) { - downcase (token); - { - int i; - for (i=0; i<sizeof(tags)/sizeof(tags[0]); i++) { - if (!strcmp (token, tags[i])) { - result = i; - if (closing) - result += sizeof(tags)/sizeof(tags[0]); - } - break; - } - if (i>=sizeof(tags)/sizeof(tags[0])) - result = -1; - } - RELEASE (token); - } - } - return result; -} - -#define HREF 1 -#define NAME 2 -static pdf_obj *link_dict = NULL; -static unsigned pending_type = 0; - -char *base_value = NULL; -static void html_make_link_dict (char *name) -{ - pdf_obj *color; - if (!link_dict) { - link_dict = pdf_new_dict(); - pdf_add_dict(link_dict, pdf_new_name("Type"), pdf_new_name ("Annot")); - pdf_add_dict(link_dict, pdf_new_name("Subtype"), pdf_new_name ("Link")); - color = pdf_new_array (); - pdf_add_array (color, pdf_new_number (0)); - pdf_add_array (color, pdf_new_number (1)); - pdf_add_array (color, pdf_new_number (1)); - pdf_add_dict(link_dict, pdf_new_name("C"), color); - if (name && *name == '#' && !(base_value)) { - pdf_add_dict (link_dict, pdf_new_name("Dest"), pdf_new_string(name+1,strlen(name+1))); - } else if (name) { /* Assume its a URL */ - char *url; - int len; - pdf_obj *action; - len = strlen(name)+1; - if (base_value) - len+=strlen(base_value); - url = NEW (len, char); - if (base_value) - strcpy (url, base_value); - else - url[0] = 0; - strcat (url, name); - action = pdf_new_dict(); - pdf_add_dict (action, pdf_new_name ("Type"), pdf_new_name ("Action")); - pdf_add_dict (action, pdf_new_name ("S"), pdf_new_name ("URI")); - pdf_add_dict (action, pdf_new_name ("URI"), - pdf_new_string (url, len)); - pdf_add_dict (link_dict, pdf_new_name ("A"), pdf_ref_obj (action)); - pdf_release_obj (action); - RELEASE (url); - } - pdf_doc_begin_annot (link_dict); - } else { - fprintf (stderr, "\nAttempt to nest links\n"); - } -} - -void html_make_dest (char *name) -{ - pdf_obj *array; - array = pdf_new_array (); - pdf_add_array (array, pdf_doc_this_page_ref()); - pdf_add_array (array, pdf_new_name("XYZ")); - pdf_add_array (array, pdf_new_null()); - pdf_add_array (array, pdf_new_number(dev_phys_y()+24.0)); - pdf_add_array (array, pdf_new_null()); - pdf_doc_add_dest (name, strlen(name), pdf_ref_obj(array)); - pdf_release_obj (array); -} - -void html_start_anchor (char *key, char *value) -{ - if (pending_type <= 0 && !link_dict) { - downcase (key); - if (!strcmp (key, "href")) { - html_make_link_dict (value); - pending_type = HREF; - } else if (!strcmp (key, "name")) { - html_make_dest (value); - pending_type = NAME; - } else { - fprintf (stderr, "\nUnrecognized keyword in anchor tag: %s\n", - key); - } - } else { - fprintf (stderr, "\nWarning: Nested html anchors\n"); - } - if (key) - RELEASE (key); - if (value) { - RELEASE (value); - } -} - -void html_end_anchor (void) -{ - switch (pending_type) { - case HREF: - if (link_dict) { - pdf_doc_end_annot (); - pdf_release_obj (link_dict); - link_dict = NULL; - pending_type = 0; - } else { - fprintf (stderr, "\nhtml_end_anchor: Ending anchor tag without starting tag!\n"); - } - break; - case NAME: - pending_type = 0; - break; - } -} - -void html_set_base (char *value) -{ - if (base_value) - RELEASE (base_value); - base_value = value; -} - - - -int htex_parse_special(char *buffer, UNSIGNED_QUAD size) -{ - int result = 0; - char *key, *value; - char *save = buffer; - char *end = buffer + size; - int htmltag; - skip_white (&buffer, end); - if (is_htex_special(&buffer, end)) { - result = 1; /* Must be html special (doesn't mean it will succeed) */ - skip_white (&buffer, end); - if (buffer < end && *(buffer++) == '<' ) { - htmltag = parse_html_tag(&buffer, end); - switch (htmltag) { - case ANCHOR: - parse_key_val (&buffer, end, &key, &value); - if (key && value) - html_start_anchor (key, value); - break; - case IMAGE: - fprintf (stderr, "\nImage html tag not yet implemented\n"); - parse_key_val (&buffer, end, &key, &value); - if (key) RELEASE (key); - if (value) RELEASE (value); - break; - case BASE: - parse_key_val (&buffer, end, &key, &value); - if (key && value) - html_set_base (value); - if (key) - RELEASE (key); - break; - case END_ANCHOR: - html_end_anchor (); - break; - default: - fprintf (stderr, "Invalid tag\n"); - dump (save, end); - } - } - skip_white(&buffer, end); - if (buffer >= end || *buffer != '>') { - fprintf (stderr, "\nBadly terminated tag..\n"); - } - } - return result; -} - - - diff --git a/Build/source/texk/dvipdfm/htex.h b/Build/source/texk/dvipdfm/htex.h deleted file mode 100644 index 5ff60c6a726..00000000000 --- a/Build/source/texk/dvipdfm/htex.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef _HTEX_H_ - -#define _HTEX_H_ - -#include "numbers.h" - -extern int htex_parse_special(char *buffer, UNSIGNED_QUAD size); - -#endif /* _HTEX_H */ - - - diff --git a/Build/source/texk/dvipdfm/jpeg.c b/Build/source/texk/dvipdfm/jpeg.c deleted file mode 100644 index c9c8c1d6e02..00000000000 --- a/Build/source/texk/dvipdfm/jpeg.c +++ /dev/null @@ -1,136 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "jpeg.h" -#include "pdfobj.h" -#include "pdfspecial.h" - -#define verbose 0 - -#define SOF0 0xc0 -#define SOF1 0xc1 -#define SOF2 0xc2 -#define SOF3 0xc3 -#define SOF5 0xc5 -#define SOF6 0xc6 -#define SOF7 0xc7 -#define SOF9 0xc9 -#define SOF10 0xca -#define SOF11 0xcb -#define SOF13 0xcd -#define SOF14 0xce -#define SOF15 0xcf -#define SOI 0xd8 -#define EOI 0xd9 -#define SOS 0xda -#define COM 0xfe - -int check_for_jpeg(FILE *file) -{ - rewind (file); - if (get_unsigned_byte (file) != 0xff || - get_unsigned_byte (file) != SOI) - return 0; - return 1; -} - -int jpeg_headers (struct jpeg *jpeg) -{ - UNSIGNED_BYTE byte; - UNSIGNED_PAIR length; - int i, done; - done = 0; - while (!done) { - if ((byte = get_unsigned_byte (jpeg -> file)) != 0xff) - return 0; - while ((byte = get_unsigned_byte (jpeg -> file)) == 0xff); - length = get_unsigned_pair (jpeg -> file); - length -= 2; - switch (byte) { - case SOF0: - case SOF1: - case SOF2: - case SOF3: - case SOF5: - case SOF6: - case SOF7: - case SOF9: - case SOF10: - case SOF11: - case SOF13: - case SOF14: - case SOF15: - jpeg -> bits_per_color = get_unsigned_byte (jpeg -> file); - jpeg -> height = get_unsigned_pair (jpeg -> file); - jpeg -> width = get_unsigned_pair (jpeg -> file); - jpeg -> colors = get_unsigned_byte (jpeg -> file); - if (verbose) { - fprintf (stderr, "ht=%d,wd=%d,co=%d,bpc=%d\n", - jpeg->height,jpeg->width,jpeg->colors,jpeg->bits_per_color); - } - - done = 1; - return 1; - default: - for (i=0; i<length; i++) { - get_unsigned_byte(jpeg -> file); - } - } - } - return 0; /* Not reached */ -} - -struct jpeg *jpeg_open (FILE *file) -{ - struct jpeg *jpeg; - if (!check_for_jpeg(file)) { - fprintf (stderr, "\nNot a JPEG file\n"); - return NULL; - } - jpeg = NEW (1, struct jpeg); - jpeg -> file = file; - if (!jpeg_headers(jpeg)) { - fprintf (stderr, "\nCorrupt JPEG file?\n"); - RELEASE (jpeg); - return NULL; - } - return jpeg; -} - -void jpeg_close (struct jpeg *jpeg) -{ - if (jpeg == NULL) { - fprintf (stderr, "jpeg_closed: passed invalid pointer\n"); - } - RELEASE (jpeg); - return; -} - - diff --git a/Build/source/texk/dvipdfm/jpeg.h b/Build/source/texk/dvipdfm/jpeg.h deleted file mode 100644 index 907a718ad6f..00000000000 --- a/Build/source/texk/dvipdfm/jpeg.h +++ /dev/null @@ -1,47 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef JPEG_H - -#define JPEG_H - -#include <stdio.h> -#include "pdfobj.h" -#include "pdfspecial.h" - -struct jpeg -{ - unsigned width, height; - unsigned bits_per_color; - FILE *file; - unsigned colors; -}; - -extern struct jpeg *jpeg_open (FILE *file); -extern int jpeg_headers (struct jpeg *jpeg); -extern void jpeg_close (struct jpeg *jpeg); -extern int check_for_jpeg (FILE *file); - -#endif /* JPEG_H */ diff --git a/Build/source/texk/dvipdfm/macglyphs.h b/Build/source/texk/dvipdfm/macglyphs.h deleted file mode 100755 index 62a75cc04a4..00000000000 --- a/Build/source/texk/dvipdfm/macglyphs.h +++ /dev/null @@ -1,57 +0,0 @@ -char *macglyphorder[258] = { - "notdef", ".null", "CR", "space", "exclam", - "quotedbl", "numbersign", "dollar", "percent", "ampersand", - "quotesingle", "parenleft", "parenright", "asterisk", "plus", - "comma", "hyphen", "period", "slash", "zero", - "one", "two", "three", "four", "five", - "six", "seven", "eight", "nine", "colon", - "semicolon", "less", "equal", "greater", "question", - "at", "A", "B", "C", "D", - "E", "F", "G", "H", "I", - "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", - "T", "U", "V", "W", "X", - "Y", "Z", "bracketleft", "backslash", "bracketright", - "asciicircum", "underscore", "grave", "a", "b", - "c", "d", "e", "f", "g", - "h", "i", "j", "k", "l", - "m", "n", "o", "p", "q", - "r", "s", "t", "u", "v", - "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", "Adieresis", "Aring", /* 95-99 */ - "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", /* 100-104 */ - "aacute", "agrave", "acircumflex", "adieresis", "atilde", /* 105-109 */ - "aring", "ccedilla", "eacute", "egrave", "ecircumflex", /* 110-114 */ - "edieresis", "iacute", "igrave", "icircumflex", "idieresis", /* 115-119 */ - "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", /* 120-124 */ - "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", /* 125-129 */ - "dagger", "degree", "cent", "sterling", "section", /* 130-134 */ - "bullet", "paragraph", "germandbls", "registered", "copyright", /* 135-139 */ - "trademark", "acute", "dieresis", "notequal", "AE", /* 140-144 */ - "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", /* 145-149 */ - "yen", "mu1", "partialdiff", "summation", "product", /* 150-154 */ - "pi", "integral", "ordfeminine", "ordmasculine", "Ohm", /* 155-159 */ - "ae", "oslash", "questiondown", "exclamdown", "logicalnot", /* 160-164 */ - "radical", "florin", "approxequal", "increment", "guillemotleft", /* 165-169 */ - "guillemotright", "ellipsis", "nbspace", "Agrave", "Atilde", /* 170-174 */ - "Otilde", "OE", "oe", "endash", "emdash", /* 175-179 */ - "quotedblleft", "quotedblright", "quoteleft", "quoteright", /* 180-184 */ - "divide", - "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", /* 185-189 */ - "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", /* 190-194 */ - "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", /* 195-199 */ - "Acircumflex", - "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", /* 200-204 */ - "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex",/* 205-209 */ - "applelogo", "Ograve", "Uacute", "Ucircumflex", "Ugrave", /* 210-214 */ - "dotlessi", "circumflex", "tilde", "overscore", "breve", /* 215-219 */ - "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", /* 220-224 */ - "caron", "Lslash", "Islash", "Scaron", "scaron", /* 225-229 */ - "Zcaron", "zcaron", "brokenbar", "Eth", "eth", /* 230-234 */ - "Yacute", "yacture", "Thorn", "thorn", "minus", /* 235-239 */ - "multiply", "onesuperior", "twosuperior", "threesuperior", - "onehalf", /* 240-244 */ - "onequarter", "threequarters", "franc", "Gbreve", "gbreve", /* 245-249 */ - "ldot", "Scedilla", "scedilla", "Cacute", "cacute", /* 250-254 */ - "Ccaron", "ccaron", "dmacron" /* 255-257 */ -}; diff --git a/Build/source/texk/dvipdfm/mem.c b/Build/source/texk/dvipdfm/mem.c deleted file mode 100644 index c3c33875d07..00000000000 --- a/Build/source/texk/dvipdfm/mem.c +++ /dev/null @@ -1,95 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include <stdlib.h> -#include "mem.h" - -#ifdef MEM_DEBUG -FILE *debugfile = NULL; -static long int event = 0; -#endif /* MEM_DEBUG */ - - -#ifdef MEM_DEBUG -void mem_debug_init(void) -{ - if (debugfile == NULL) { - debugfile = fopen ("malloc.log", "w"); - fprintf (stderr, "*** Memory Debugging Log started ***\n"); - } -} -#endif /* MEM_DEBUG */ - -void *new (size_t size, char *function, int line) -{ - void *result; - if ((result = malloc (size)) == NULL) { - fprintf (stderr, "Out of memory in %s:%d\n", function, line); - fprintf (stderr, "Asked for %lu\n", (unsigned long) size); - exit (1); - } - -#ifdef MEM_DEBUG - mem_debug_init(); - event += 1; - fprintf (debugfile, "%p %07ld [new] %s:%d\n", result, event, function, line); -#endif /* MEM_DEBUG */ - - return result; -} - -void *renew (void *mem, size_t size, char *function, int line) -{ - void *result; -#ifdef MEM_DEBUG - mem_debug_init(); - event += 1; - if (mem) - fprintf (debugfile, "%p %07ld [fre] %s:%d\n", mem, - event, function, line); -#endif /* MEM_DEBUG */ - if ((result = realloc (mem, size)) == NULL) { - fprintf (stderr, "Out of memory!\n"); - exit (1); - } -#ifdef MEM_DEBUG - if (result) - fprintf (debugfile, "%p %07ld [new] %s:%d\n", result, event, function, line); -#endif /* MEM_DEBUG */ - return result; -} - -void release (void *mem, char *function, int line) -{ - -#ifdef MEM_DEBUG - mem_debug_init(); - event += 1; - fprintf (debugfile, "%p %07ld [fre] %s:%d\n", mem, event, function, line); -#endif /* MEM_DEBUG */ - - free (mem); -} - diff --git a/Build/source/texk/dvipdfm/mem.h b/Build/source/texk/dvipdfm/mem.h deleted file mode 100644 index 3ad5ea8a274..00000000000 --- a/Build/source/texk/dvipdfm/mem.h +++ /dev/null @@ -1,50 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef MEM_H -#define MEM_H - -#include <stdlib.h> - -extern void *new (size_t size, char *function, int line); -extern void *renew (void *p, size_t size, char *function, int line); -extern void release (void *mem, char *function, int line); - -#ifdef MEM_DEBUG -extern void mem_debug_init(void); -extern FILE *debugfile; -#define NEW(n,type) (type *)(new (((size_t) (n))*sizeof(type),__FUNCTION__,__LINE__)) -#define RENEW(p,n,type) (type *)(renew ((p),(n)*sizeof(type),__FUNCTION__,__LINE__)) -#define RELEASE(p) release ((p),__FUNCTION__,__LINE__) -#define MEM_START {mem_debug_init();fprintf (debugfile, "Entered %s\n", __FUNCTION__);} -#define MEM_END fprintf (debugfile, "Leaving %s\n", __FUNCTION__); -#else /* MEM_DEBUG */ -#define MEM_START -#define MEM_END -#define NEW(n,type) (type *)(new (((size_t) (n))*sizeof(type),NULL,0)) -#define RENEW(p,n,type) (type *)(renew ((p),(n)*sizeof(type),NULL,0)) -#define RELEASE(p) release ((p),NULL,0) -#endif /* MEM_DEBUG */ -#endif /* MEM_H */ diff --git a/Build/source/texk/dvipdfm/mfileio.c b/Build/source/texk/dvipdfm/mfileio.c deleted file mode 100644 index 908fcb02eca..00000000000 --- a/Build/source/texk/dvipdfm/mfileio.c +++ /dev/null @@ -1,128 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include <stdlib.h> -#include "system.h" -#include "mfileio.h" -#include "error.h" - -#ifdef IODEBUG -static FILE *iodebug_file = NULL; -static long event = 0; -static void io_debug_init(void) -{ - if (!iodebug_file) { - iodebug_file = fopen ("fopen.log", "wb"); - fprintf (stderr, "\n*** File IO debugging started ***\n"); - } - if (!iodebug_file) { - fprintf (stderr, "\nError opening io log\n"); - } -} -#endif - -#ifdef IODEBUG -FILE *mfopen(const char *name, const char *mode, const char *function, int line) -{ - FILE *tmp; - io_debug_init(); - tmp = fopen (name, mode); - event += 1; - fprintf(iodebug_file, "%p %07ld [fopen] %s:%d\n", tmp, event, - function, line); - return tmp; -} -int mfclose(FILE *file, const char *function, int line) -{ - io_debug_init(); - event += 1; - fprintf(iodebug_file, "%p %07ld [fclose] %s:%d\n", file, event, - function, line); - return fclose(file); -} -#endif - -static void os_error() -{ - ERROR ("io: An OS command failed that should not have.\n"); -} - -void seek_absolute (FILE *file, long pos) -{ - if (fseek(file, pos, SEEK_SET)) { - os_error(); - } -} - -void seek_relative (FILE *file, long pos) -{ - if (fseek(file, pos, SEEK_CUR)) { - os_error(); - } -} - - -void seek_end (FILE *file) -{ - if (fseek(file, 0L, SEEK_END)) { - os_error(); - } -} - -long tell_position (FILE *file) -{ - long size; - if ((size = ftell (file)) < 0) { - os_error(); - } - return size; -} - -long file_size (FILE *file) -{ - long size; - /* Seek to end */ - seek_end (file); - size = tell_position (file); - rewind (file); - return (size); -} - -/* Unlike fgets, mfgets works with \r, \n, or \r\n end of lines. */ -char *mfgets (char *buffer, unsigned long length, FILE *file) -{ - int ch = 0, i = 0; - while (i < length-1 && (ch = fgetc (file)) >= 0 && ch != '\n' && ch != '\r') - buffer[i++] = ch; - buffer[i] = 0; - if (ch < 0 && i == 0) - return NULL; - if (ch == '\r' && (ch = fgetc (file)) >= 0 && (ch != '\n')) - ungetc (ch, file); - return buffer; -} - -char work_buffer[WORK_BUFFER_SIZE]; - diff --git a/Build/source/texk/dvipdfm/mfileio.h b/Build/source/texk/dvipdfm/mfileio.h deleted file mode 100644 index 5a0fd59a7e8..00000000000 --- a/Build/source/texk/dvipdfm/mfileio.h +++ /dev/null @@ -1,59 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include "numbers.h" -#define IODEBUG -#undef IODEBUG - -#ifdef IODEBUG -FILE *mfopen (const char *name, const char *mode, - const char *function, int line); -int mfclose (FILE *file, const char *function, int line); -#define MFOPEN(name,mode) \ - mfopen((name),(mode),__FUNCTION__,__LINE__) -#define MFCLOSE(file) \ - mfclose((file),__FUNCTION__,__LINE__) -#else -#define MFOPEN(name,mode) fopen((name),(mode)) -#define MFCLOSE(file) fclose(file) -#endif - -extern UNSIGNED_BYTE read_byte (FILE *); - -extern void seek_absolute (FILE *file, long pos); -extern void seek_relative (FILE *file, long pos); - -extern void seek_end (FILE *file); - -extern long tell_position (FILE *file); - -extern long file_size (FILE *file); - -extern char *mfgets (char *buffer, unsigned long size, FILE *file); - -extern char work_buffer[]; - -#define WORK_BUFFER_SIZE 1024 diff --git a/Build/source/texk/dvipdfm/mpost.c b/Build/source/texk/dvipdfm/mpost.c deleted file mode 100644 index 9f8803e0272..00000000000 --- a/Build/source/texk/dvipdfm/mpost.c +++ /dev/null @@ -1,1369 +0,0 @@ -/* $Header: SCCS/s.mpost.c 1.1 00/08/05 01:52:14-00:00 mwicks@gaspra $ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdlib.h> -#include <ctype.h> -#include <math.h> -#include <string.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "dvi.h" -#include "pdfobj.h" -#include "pdfspecial.h" -#include "pdfparse.h" -#include "mpost.h" -#include "pdfparse.h" -#include "pdflimits.h" -#include "pdfdev.h" -#include "pdfdoc.h" - -int check_for_mp (FILE *image_file) -{ - int i; - int n = 0; - rewind (image_file); - /* For now, this is an exact test that must be passed, character for - character */ - mfgets (work_buffer, WORK_BUFFER_SIZE, image_file); - if (strncmp (work_buffer, "%!PS", 4)) - return 0; - for(i=0; i < 10; i++) { - mfgets (work_buffer, WORK_BUFFER_SIZE, image_file); - if(strncmp(work_buffer, "%%Creator: MetaPost", strlen("%%Creator: MetaPost")) - == 0) - n++; - } - if(n == 0) - return 0; - return 1; -} - -static struct mp_fonts -{ - char *tex_name; - int font_id; - double pt_size; -} *mp_fonts = NULL; - -int n_mp_fonts = 0, max_mp_fonts = 0; - -static void need_more_mp_fonts (unsigned n) -{ - if (n_mp_fonts + n > max_mp_fonts) { - max_mp_fonts += MAX_FONTS; - mp_fonts = RENEW (mp_fonts, max_mp_fonts, struct mp_fonts); - } -} - - - -int mp_locate_font (char *tex_name, double pt_size) -{ - int result=-1, i; - for (i=0; i<n_mp_fonts; i++) { - if (!strcmp (tex_name, mp_fonts[i].tex_name) && - mp_fonts[i].pt_size == pt_size) - break; - } - need_more_mp_fonts (1); - if (i == n_mp_fonts) { - n_mp_fonts += 1; - mp_fonts[i].tex_name = NEW (strlen(tex_name)+1, char); - strcpy (mp_fonts[i].tex_name, tex_name); - mp_fonts[i].pt_size = pt_size; - /* The following line is a bit of a kludge. MetaPost inclusion - was an afterthought */ - mp_fonts[i].font_id = dev_locate_font (tex_name, - pt_size/dvi_unit_size()); - result = mp_fonts[i].font_id; - } else - result = -1; - return result; -} - -static void release_fonts (void) -{ - int i; - for (i=0; i<n_mp_fonts; i++) { - RELEASE (mp_fonts[i].tex_name); - } - if (mp_fonts) { - RELEASE (mp_fonts); - mp_fonts = NULL; - } - n_mp_fonts = 0; - max_mp_fonts = 0; -} - -int mp_is_font_name (char *tex_name) -{ - int i; - for (i=0; i<n_mp_fonts; i++) { - if (!strcmp (tex_name, mp_fonts[i].tex_name)) - break; - } - if (i < n_mp_fonts) - return 1; - else - return 0; -} - -int mp_fontid (char *tex_name, double pt_size) -{ - int i; - for (i=0; i<n_mp_fonts; i++) { - if (!strcmp (tex_name, mp_fonts[i].tex_name) && - (mp_fonts[i].pt_size == pt_size)) - break; - } - if (i < n_mp_fonts) { - return i; - } - else { - return -1; - } -} - -static int mp_parse_headers (FILE *image_file, struct xform_info *p) -{ - int error = 0; - char *start, *end, *token, *name; - char *llx = NULL, *lly = NULL, *urx = NULL, *ury = NULL; - unsigned long save_position; -#ifdef MEM_DEBUG - MEM_START -#endif - /* Scan for bounding box record */ - for (;;) { - mfgets (work_buffer, WORK_BUFFER_SIZE, image_file); - if (work_buffer[0] != '%' || - !strncmp (work_buffer, "%%BoundingBox:", - strlen("%%BoundingBox"))) - break; - } - if (work_buffer[0] == '%') { /* Found %%BoundingBox */ - start = work_buffer + strlen("%%BoundingBox:"); - end = start+strlen(start); - skip_white (&start, end); - /* Expect 4 numbers or fail */ - if ((llx = parse_number (&start, end)) && - (lly = parse_number (&start, end)) && - (urx = parse_number (&start, end)) && - (ury = parse_number (&start, end))) { - /* Set the crop box to the true bounding box specified in the - file */ - p->c_llx = atof (llx); - p->c_lly = atof (lly); - p->c_urx = atof (urx); - p->c_ury = atof (ury); - } else{ - fprintf (stderr, "\nMissing expected number in bounding box specification:\n"); - dump (start, end); - error = 1; - } - } else { /* Didn't find Bounding box */ - fprintf (stderr, "\nFailed to find an expected BoundingBox record.\n"); - error = 1; - } - if (llx) RELEASE(llx); - if (lly) RELEASE(lly); - if (urx) RELEASE(urx); - if (ury) RELEASE(ury); - /* Got four numbers */ - /* Read all headers--act on *Font records */ - save_position = tell_position(image_file); - while (!error && !feof(image_file) && mfgets (work_buffer, WORK_BUFFER_SIZE, - image_file)) { - if (*work_buffer != '%') { - seek_absolute (image_file, save_position); - break; - } - save_position = tell_position (image_file); - if (*(work_buffer+1) == '*' && - !strncmp (work_buffer+2, "Font:", strlen("Font:"))) { - double ps_ptsize; - start = work_buffer+strlen("%*Font:"); - end = start+strlen(start); - skip_white (&start, end); - if ((name = parse_ident (&start, end))) { - skip_white (&start, end); - } else { - fprintf (stderr, "\nMissing expected font name:\n"); - dump (start, end); - error = 1; - break; - } - if ((token = parse_number (&start, end))) { - ps_ptsize = atof (token); - RELEASE (token); - } else { - fprintf (stderr, "\nMissing expected font point size specification:\n"); - dump (start, end); - error = 1; - break; - } - mp_locate_font (name, ps_ptsize); - RELEASE (name); - } - } -#ifdef MEM_DEBUG - MEM_END -#endif - return !error; -} - -struct point { - double x, y; -}; - -struct curve { - double x[3], y[3]; -}; - -static struct path_element -{ - char type; - void *element; -} *path = NULL; -static int n_path_pts = 0, max_path_pts = 0; -static int path_clip = 0, path_close = 0; - -#define MORE_PATH_POINTS 64 - -static void need_points (int n) -{ - if (n_path_pts+n > max_path_pts) { - max_path_pts += MORE_PATH_POINTS; - path = RENEW (path, max_path_pts, struct path_element); - } - return; -} - -static void clip_path (void) -{ - path_clip = 1; -} - -static void close_path (void) -{ - path_close = 1; -} - -static void add_point_to_path (double x, double y, char type) -{ - struct point *p; - need_points (1); - path[n_path_pts].type = type; - p = NEW (1, struct point); - p->x = x; p->y = y; - path[n_path_pts].element = p; - n_path_pts += 1; - return; -} - -static void add_curve_to_path (double x0, double y0, - double x1, double y1, - double x2, double y2) -{ - struct curve *c; - need_points (1); - c = NEW (1, struct curve); - path[n_path_pts].type = 'c'; - (c->x)[0] = x0; (c->y)[0] = y0; - (c->x)[1] = x1; (c->y)[1] = y1; - (c->x)[2] = x2; (c->y)[2] = y2; - path[n_path_pts].element = c; - n_path_pts += 1; - return; -} - -static void void_path (void) -{ - int i; - for (i=0; i<n_path_pts; i++) { - RELEASE (path[i].element); - } - path_clip = 0; - path_close = 0; - n_path_pts = 0; -} - -static void flush_path (void) -{ - int i, len; - for (i=0; i<n_path_pts; i++) { - switch (path[i].type) { - case 'm': /* moveto */ - /* Moveto must start a new path */ - /* void_path (); */ - case 'l': /* lineto */ - { - struct point *p; - p = path[i].element; - sprintf (work_buffer, "\n%g %g %c", - ROUND(p->x, 0.001), ROUND(p->y, 0.001), - path[i].type); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - RELEASE (p); - } - break; - case 'c': /* curveto */ - { - struct curve *p; - p = path[i].element; - sprintf (work_buffer, "\n%g %g %g %g %g %g c", - ROUND((p->x)[0], 0.001), ROUND((p->y)[0], 0.001), - ROUND((p->x)[1], 0.001), ROUND((p->y)[1], 0.001), - ROUND((p->x)[2], 0.001), ROUND((p->y)[2], 0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - RELEASE (p); - } - break; - default: /* This shouldn't happen! */ - ERROR ("Internal error in mpost.c, flush_path ()"); - } - } - n_path_pts = 0; - if (path_close) { - pdf_doc_add_to_page (" h", 2); - path_close = 0; - } - if (path_clip) { - pdf_doc_add_to_page (" W", 2); - path_clip = 0; - } - return; -} - -static void transform_path (double a, double b, double c, double d, - double e, double f) -{ - double an, bn, cn, dn, en, fn, delta, xn, yn; - unsigned i; - delta = a*d-b*c; - if (delta == 0.0) { - ERROR ("Determinant exactly zero in transform_path()"); - } - an=d/delta; bn=-b/delta; cn=-c/delta; dn=a/delta; - en=(c*f-e*d)/delta, fn=(b*e-a*f)/delta; - for (i=0; i<n_path_pts; i++) { - switch (path[i].type) { - case 'l': - case 'm': - { - struct point *p; - p = path[i].element; - xn = an*(p->x)+cn*(p->y)+en; - yn = bn*(p->x)+dn*(p->y)+fn; - p->x = xn; - p->y = yn; - } - break; - case 'c': - { - int j; - struct curve *c; - c = path[i].element; - for (j=0; j<3; j++) { - xn = an*(c->x)[j]+cn*(c->y)[j]+en; - yn = bn*(c->x)[j]+dn*(c->y)[j]+fn; - (c->x)[j] = xn; (c->y)[j] = yn; - } - } - } - } -} -static void dump_path (void) -{ - unsigned i; - for (i=0; i<n_path_pts; i++) { - switch (path[i].type) { - case 'l': - case 'm': - { - struct point *p; - p = path[i].element; - fprintf (stderr, "\t%g %g %c\n", p->x, p->y, path[i].type); - } - break; - case 'c': - { - struct curve *c; - int j; - c = path[i].element; - for (j=0; j<3; j++) { - fprintf (stderr, "\t%g %g\n", (c->x)[j], (c->y)[j]); - } - fprintf (stderr, "\t\t\tcurveto\n"); - break; - } - } - } -} - -#define PS_STACK_SIZE 1024 -static pdf_obj *stack[PS_STACK_SIZE]; -static unsigned top_stack; - -double x_state, y_state; -static int state = 0; -static int num_saves = 0; - -#define PUSH(o) { \ - if (top_stack<PS_STACK_SIZE) { \ - stack[top_stack++] = o; \ - } else { \ - fprintf (stderr, "PS stack overflow including MetaPost file or inline PS code"); \ - error=1; \ - break; \ - } \ - } - -#define POP_STACK() (top_stack>0?stack[--top_stack]:NULL) - -void dump_stack() -{ - int i; - fprintf (stderr, "\ndump_stack\n"); - for (i=0; i<top_stack; i++) { - pdf_write_obj (stderr, stack[i]); - fprintf (stderr, "\n"); - } -} -#define ADD 1 -#define CLIP 2 -#define CLOSEPATH 3 -#define CONCAT 4 -#define CURVETO 5 -#define DIV 6 -#define DTRANSFORM 7 -#define EXCH 8 -#define FILL 9 -#define FSHOW 10 -#define GSAVE 11 -#define GRESTORE 12 -#define IDTRANSFORM 13 -#define LINETO 14 -#define MOVETO 15 -#define MUL 16 -#define NEWPATH 17 -#define POP 18 -#define RLINETO 19 -#define SCALE 20 -#define SETCMYKCOLOR 21 -#define SETDASH 22 -#define SETGRAY 23 -#define SETLINECAP 24 -#define SETLINEJOIN 25 -#define SETLINEWIDTH 26 -#define SETMITERLIMIT 27 -#define SETRGBCOLOR 28 -#define SHOW 29 -#define SHOWPAGE 30 -#define STROKE 31 -#define SUB 32 -#define TRANSLATE 33 -#define TRUNCATE 34 -#define CURRENTPOINT 35 -#define NEG 36 -#define ROTATE 37 -#define TEXFIG 38 -#define ETEXFIG 39 -#define FONTNAME 99 - -struct operators -{ - char *t; - int v; -} operators[] = { - {"add", ADD}, - {"clip", CLIP}, - {"closepath", CLOSEPATH}, - {"concat", CONCAT}, - {"curveto", CURVETO}, - {"currentpoint", CURRENTPOINT}, /* This is here for rotate - support in graphics package-not MP support */ - {"div", DIV}, - {"dtransform", DTRANSFORM}, - {"exch", EXCH}, - {"fill", FILL}, - {"fshow", FSHOW}, - {"gsave", GSAVE}, - {"grestore", GRESTORE}, - {"idtransform", IDTRANSFORM}, - {"lineto", LINETO}, - {"moveto", MOVETO}, - {"mul", MUL}, - {"neg", NEG}, - {"newpath", NEWPATH}, - {"pop", POP}, - {"rlineto", RLINETO}, - {"rotate", ROTATE}, - {"scale", SCALE}, - {"setcmykcolor", SETCMYKCOLOR}, - {"setdash", SETDASH}, - {"setgray", SETGRAY}, - {"setlinecap", SETLINECAP}, - {"setlinejoin", SETLINEJOIN}, - {"setlinewidth", SETLINEWIDTH}, - {"setmiterlimit", SETMITERLIMIT}, - {"setrgbcolor", SETRGBCOLOR}, - {"show", SHOW}, - {"showpage", SHOWPAGE}, - {"startTexFig", TEXFIG}, - {"endTexFig", ETEXFIG}, - {"stroke", STROKE}, - {"sub", SUB}, - {"translate", TRANSLATE}, - {"truncate", TRUNCATE} -}; - -static int lookup_operator(char *token) -{ - int i, operator; - operator = -1; - for (i=0; i<sizeof(operators)/sizeof(operators[0]); i++) { - if (!strcmp (token, operators[i].t)) { - operator = operators[i].v; - break; - } - } - if (i == sizeof(operators)/sizeof(operators[0]) && - mp_is_font_name (token)) { - operator = FONTNAME; - } - return operator; -} - - -/* Following needed to save texfig state */ - -static long next_fig = 1; -static pdf_obj *fig_xobj = NULL; -struct xform_info *fig_p; -static char fig_res_name[16]; - -static int do_operator(char *token, - double x_user, double y_user) - /* Again, the only piece that needs x_user and y_user is - that piece dealing with texfig */ -{ - int operator, error = 0; - pdf_obj *tmp1=NULL, *tmp2=NULL, *tmp3=NULL, *tmp4 = NULL; - pdf_obj *tmp5=NULL, *tmp6=NULL; - int len; - /* PS to PDF conversion is not so simple. We maintain - state so we can change "gsave fill grestore stroke" to "B". - We need to keep track of what we have seen. This code is not - too smart and could be easily fooled by real postscript. - It makes some assumptions since it is only looking at MetaPost - - States are as follows: - 0: Nothing special - 1: Started a path - 2: Saw gsave in path - 3: Saw a painting operator in state 2(fill, stroke, or newpath) - 4: Saw a grestore in state 3 - */ - operator = lookup_operator (token); - switch (operator) { - case ADD: - tmp1 = POP_STACK(); - tmp2 = POP_STACK(); - if (tmp1 && tmp2) - pdf_set_number (tmp1, - pdf_number_value(tmp1)+pdf_number_value(tmp2)); - if (tmp2) - pdf_release_obj (tmp2); - if (tmp1) - PUSH(tmp1); - break; - case CLIP: - clip_path(); - break; - case CLOSEPATH: - close_path(); - break; - case CONCAT: - tmp1 = POP_STACK(); - if (tmp1 && tmp1 -> type == PDF_ARRAY) { - int i, len = 0; - for (i=0; i<6; i++) { - if (!(tmp2 = pdf_get_array(tmp1, i))) - break; - if (i == 0) { - sprintf (work_buffer+len, "\n"); - len += strlen (work_buffer+len); - } else { - sprintf (work_buffer+len, " "); - len += strlen (work_buffer+len); - } - sprintf (work_buffer+len, "%g", - ROUND(pdf_number_value(tmp2),0.0001)); - len += strlen (work_buffer+len); - } - sprintf (work_buffer+len, " cm"); - len += strlen (work_buffer+len); - pdf_doc_add_to_page (work_buffer, len); - /* Transform pending path, if any */ - transform_path (pdf_number_value(pdf_get_array(tmp1, 0)), - pdf_number_value(pdf_get_array(tmp1, 1)), - pdf_number_value(pdf_get_array(tmp1, 2)), - pdf_number_value(pdf_get_array(tmp1, 3)), - pdf_number_value(pdf_get_array(tmp1, 4)), - pdf_number_value(pdf_get_array(tmp1, 5))); - } else { - fprintf (stderr, "\nMissing array before \"concat\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case CURRENTPOINT: - state = 0; - PUSH (pdf_new_number (x_user)); /* Remember that x_user and y_user */ - PUSH (pdf_new_number (y_user)); /* are off by 0.02 % */ - break; - case CURVETO: - if (state <= 1) /* In path now */ - state = 1; - else { - fprintf (stderr, "\nUnexpected path segment\n"); - } - if ((tmp6 = POP_STACK()) && tmp6->type == PDF_NUMBER && - (tmp5 = POP_STACK()) && tmp5->type == PDF_NUMBER && - (tmp4 = POP_STACK()) && tmp4->type == PDF_NUMBER && - (tmp3 = POP_STACK()) && tmp3->type == PDF_NUMBER && - (tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - add_curve_to_path (pdf_number_value(tmp1), - pdf_number_value(tmp2), - pdf_number_value(tmp3), - pdf_number_value(tmp4), - pdf_number_value(tmp5), - pdf_number_value(tmp6)); - x_state = pdf_number_value (tmp5); - y_state = pdf_number_value (tmp6); - } else { - fprintf (stderr, "\nMissing number(s) before \"curveto\"\n"); - } - if (tmp1) pdf_release_obj (tmp1); - if (tmp2) pdf_release_obj (tmp2); - if (tmp3) pdf_release_obj (tmp3); - if (tmp4) pdf_release_obj (tmp4); - if (tmp5) pdf_release_obj (tmp5); - if (tmp6) pdf_release_obj (tmp6); - break; - case DIV: - tmp2 = POP_STACK(); - tmp1 = POP_STACK(); - if (tmp1 && tmp2) - pdf_set_number (tmp1, - pdf_number_value(tmp1)/pdf_number_value(tmp2)); - if (tmp1) - PUSH(tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case DTRANSFORM: - if ((tmp2 = POP_STACK()) && tmp2 -> type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1 -> type == PDF_NUMBER) { - pdf_set_number (tmp1, pdf_number_value(tmp1)*100.0); - pdf_set_number (tmp2, pdf_number_value(tmp2)*100.0); - PUSH(tmp1); - PUSH(tmp2); - } else { - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - fprintf (stderr, "\nExpecting two numbers before \"dtransform\""); - } - break; - case EXCH: - if ((tmp1 = POP_STACK()) && - (tmp2 = POP_STACK())) { - PUSH (tmp1); - PUSH (tmp2); - } else { - if (tmp1) - pdf_release_obj (tmp1); - } - break; - case FILL: - switch (state) { - case 0: - state = 0; - break; - case 1: - flush_path (); - pdf_doc_add_to_page (" f", 2); - state = 0; - break; - case 2: - state = 3; - break; - case 3: - fprintf (stderr, "\nUnexpected fill\n"); - break; - case 4: - flush_path (); - pdf_doc_add_to_page (" B", 2); - state = 0; - break; - } - break; - case FSHOW: - { - int fontid; - if ((tmp3 = POP_STACK()) && (tmp3->type == PDF_NUMBER) && - (tmp2 = POP_STACK()) && (tmp2->type == PDF_STRING) && - (tmp1 = POP_STACK()) && (tmp1->type == PDF_STRING)) { - if ((fontid = mp_fontid (pdf_string_value(tmp2), - pdf_number_value(tmp3))) < 0) { - fprintf (stderr, "\n\"fshow\": Missing font in MetaPost file? %s@%g\n", - (char *) pdf_string_value(tmp2), pdf_number_value(tmp3)); - } - dev_set_string (x_state/dvi_unit_size(), y_state/dvi_unit_size(), - pdf_string_value(tmp1), - pdf_string_length(tmp1), 0, mp_fonts[fontid].font_id); - graphics_mode(); - } - /* Treat fshow as a path terminator of sorts */ - state = 0; - - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - if (tmp3) - pdf_release_obj (tmp3); - } - break; - case GSAVE: - switch (state) { - case 0: - pdf_doc_add_to_page ("\nq", 2); - num_saves += 1; - break; - case 1: - state = 2; - break; - case 4: - state = 2; - break; - default: - fprintf (stderr, "\nUnexpected gsave\n"); - break; - } - break; - case GRESTORE: - switch (state) { - case 0: - if (num_saves > 0) { - num_saves -= 1; - pdf_doc_add_to_page ("\nQ", 2); - /* Unfortunately, the following two lines are necessary in case of a font or color - change inside of the save/restore pair. Anything that was done - there must be redone, so in effect, we make no assumptions about - what fonts are active. We act like we are starting a new page */ - dev_reselect_font(); - /* The following line was causing trouble - 1/30/01 */ - /* dev_do_color(); */ - } - else { - fprintf (stderr, "PS special: \"grestore\" ignored. More restores than saves on a page.\n"); - } - break; - case 2: - state = 1; - break; - case 3: - state = 4; - break; - default: - fprintf (stderr, "\nUnexpected grestore\n"); - break; - } - break; - case IDTRANSFORM: - if ((tmp2 = POP_STACK()) && tmp2 -> type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1 -> type == PDF_NUMBER) { - pdf_set_number (tmp1, pdf_number_value(tmp1)/100.0); - pdf_set_number (tmp2, pdf_number_value(tmp2)/100.0); - PUSH(tmp1); - PUSH(tmp2); - } else { - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - fprintf (stderr, "\nExpecting two numbers before \"idtransform\""); - } - break; - case LINETO: - { - if (state <= 1) /* In path now */ - state = 1; - else { - fprintf (stderr, "\nUnexpected path segment\n"); - } - if ((tmp2 = POP_STACK()) && tmp2-> type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1-> type == PDF_NUMBER) { - x_state = pdf_number_value (tmp1); - y_state = pdf_number_value (tmp2); - add_point_to_path (x_state, y_state, 'l'); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - } - break; - case MOVETO: - if (state <= 1) /* In path now */ - state = 1; - else { - fprintf (stderr, "\nUnexpected path segment\n"); - } - if ((tmp2 = POP_STACK()) && tmp2-> type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1-> type == PDF_NUMBER) { - /* MetaPost likes to ship out a moveto before displayed text. - Save the results so we know where to place the text. Save - the move but don't actually do it unless the next operator is - a graphics operator */ - x_state = pdf_number_value (tmp1); - y_state = pdf_number_value (tmp2); - add_point_to_path (x_state, y_state, 'm'); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case MUL: - tmp2 = POP_STACK(); - tmp1 = POP_STACK(); - if (tmp1 && tmp2) - pdf_set_number (tmp1, - pdf_number_value(tmp1)*pdf_number_value(tmp2)); - if (tmp1) - PUSH(tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case NEG: - tmp1 = POP_STACK(); - if (tmp1 && tmp1 -> type == PDF_NUMBER) { - pdf_set_number (tmp1, -pdf_number_value(tmp1)); - PUSH (tmp1); - } - break; - case NEWPATH: - flush_path (); - pdf_doc_add_to_page ("\nn", 2); - break; - case POP: - tmp1 = POP_STACK(); - if (tmp1) - pdf_release_obj (tmp1); - break; - case RLINETO: - if (state <= 1) /* In path now */ - state = 1; - else { - fprintf (stderr, "\nUnexpected path segment\n"); - } - if ((tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - x_state += pdf_number_value (tmp1); - y_state += pdf_number_value (tmp2); - add_point_to_path (x_state, y_state, 'l'); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case SCALE: - if ((tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g 0 0 %g 0 0 cm", - ROUND(pdf_number_value (tmp1),0.01), - ROUND(pdf_number_value (tmp2),0.01)); - len = strlen (work_buffer); - transform_path (pdf_number_value(tmp1), 0.0, - 0.0, pdf_number_value(tmp2), 0.0, 0.0); - pdf_doc_add_to_page (work_buffer, len); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case SETCMYKCOLOR: - if ((tmp4 = POP_STACK()) && tmp4->type == PDF_NUMBER && - (tmp3 = POP_STACK()) && tmp3->type == PDF_NUMBER && - (tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g %g %g %g k", - ROUND(pdf_number_value (tmp1),0.001), - ROUND(pdf_number_value (tmp2),0.001), - ROUND(pdf_number_value (tmp3),0.001), - ROUND(pdf_number_value (tmp4),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, "\n%g %g %g %g K", - ROUND(pdf_number_value (tmp1),0.001), - ROUND(pdf_number_value (tmp2),0.001), - ROUND(pdf_number_value (tmp3),0.001), - ROUND(pdf_number_value (tmp4),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting four numbers before \"setcmykcolor\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - if (tmp3) - pdf_release_obj (tmp3); - if (tmp4) - pdf_release_obj (tmp4); - break; - case SETDASH: - if ((tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_ARRAY) { - int i; - pdf_doc_add_to_page ("\n[", 2); - for (i=0;; i++) { - if ((tmp3 = pdf_get_array (tmp1, i)) && - tmp3 -> type == PDF_NUMBER) { - sprintf (work_buffer, " %g", ROUND(pdf_number_value(tmp3),0.01)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else - break; - } - pdf_doc_add_to_page (" ]", 2); - if (tmp2 -> type == PDF_NUMBER) { - sprintf (work_buffer, " %g d", ROUND(pdf_number_value(tmp2),0.01)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } - } else { - fprintf (stderr, "\nExpecting array and number before \"setdash\""); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case SETGRAY: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g g", - ROUND(pdf_number_value (tmp1),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, " %g G", - ROUND(pdf_number_value (tmp1),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting a number before \"setgray\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case SETLINECAP: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g J", pdf_number_value (tmp1)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting a number before \"setlinecap\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case SETLINEJOIN: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g j", pdf_number_value (tmp1)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting a number before \"setlinejoin\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case SETLINEWIDTH: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g w", ROUND(pdf_number_value (tmp1),0.01)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting a number before \"setlinewidth\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case SETMITERLIMIT: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g M", ROUND(pdf_number_value - (tmp1),0.01)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting a number before \"setmiterlimit\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case SETRGBCOLOR: - if ((tmp3 = POP_STACK()) && tmp3->type == PDF_NUMBER && - (tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n%g %g %g rg", - ROUND(pdf_number_value (tmp1),0.001), - ROUND(pdf_number_value (tmp2),0.001), - ROUND(pdf_number_value (tmp3),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, "\n%g %g %g RG", - ROUND(pdf_number_value (tmp1),0.001), - ROUND(pdf_number_value (tmp2),0.001), - ROUND(pdf_number_value (tmp3),0.001)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nExpecting three numbers before \"setrgbcolor\"\n"); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - if (tmp3) - pdf_release_obj (tmp3); - break; - case SHOWPAGE: - /* Let's ignore this for now */ - void_path (); - break; - case STROKE: - switch (state) { - case 0: - state = 0; - break; - case 1: - flush_path (); - pdf_doc_add_to_page (" S", 2); - state = 0; - break; - case 2: - state = 3; - break; - case 3: - fprintf (stderr, "\nUnexpected fill\n"); - break; - case 4: - flush_path (); - pdf_doc_add_to_page (" B", 2); - state = 0; - break; - } - break; - case SUB: - tmp2 = POP_STACK(); - tmp1 = POP_STACK(); - if (tmp1 && tmp2) - pdf_set_number (tmp1, - pdf_number_value(tmp1)-pdf_number_value(tmp2)); - if (tmp1) - PUSH(tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case ROTATE: - if ((tmp1 = POP_STACK()) && (tmp1 -> type == PDF_NUMBER)) { - double theta = pdf_number_value(tmp1)*M_PI/180.0; - sprintf (work_buffer, "\n%.4f %.4f %.4f %.4f 0 0 cm", - cos(theta), -sin(theta), - sin(theta), cos(theta)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } - if (tmp1) - pdf_release_obj (tmp1); - break; - case TEXFIG: - if ((tmp6 = POP_STACK()) && (tmp6 -> type == PDF_NUMBER) && - (tmp5 = POP_STACK()) && (tmp5 -> type == PDF_NUMBER) && - (tmp4 = POP_STACK()) && (tmp4 -> type == PDF_NUMBER) && - (tmp3 = POP_STACK()) && (tmp3 -> type == PDF_NUMBER) && - (tmp2 = POP_STACK()) && (tmp2 -> type == PDF_NUMBER) && - (tmp1 = POP_STACK()) && (tmp1 -> type == PDF_NUMBER)) { - double dvi2pts = dvi_unit_size(); - fig_p = new_xform_info (); - fig_p -> width = pdf_number_value(tmp1)*dvi2pts; - fig_p -> height = pdf_number_value(tmp2)*dvi2pts; - fig_p -> c_llx = pdf_number_value(tmp3)*dvi2pts; - fig_p -> c_lly = pdf_number_value(tmp4)*dvi2pts; - fig_p -> c_urx = pdf_number_value(tmp5)*dvi2pts; - fig_p -> c_ury = pdf_number_value(tmp6)*dvi2pts; - pdf_scale_image (fig_p); - sprintf (fig_res_name, "Tf%ld", next_fig); - fig_xobj = begin_form_xobj (fig_p->c_llx, -fig_p->c_ury, fig_p->c_llx, -fig_p->c_lly, - fig_p->c_urx, -fig_p->c_ury, fig_res_name); - } - if (tmp1) pdf_release_obj(tmp1); - if (tmp2) pdf_release_obj(tmp2); - if (tmp3) pdf_release_obj(tmp3); - if (tmp4) pdf_release_obj(tmp4); - if (tmp5) pdf_release_obj(tmp5); - if (tmp6) pdf_release_obj(tmp6); - break; - case ETEXFIG: - if (fig_xobj) { - next_fig += 1; - end_form_xobj (); - pdf_doc_add_to_page_xobjects (fig_res_name, pdf_ref_obj(fig_xobj)); - pdf_release_obj (fig_xobj); - fig_xobj = NULL; - pdf_doc_add_to_page ("\nq", 2); - add_xform_matrix (x_user, y_user, fig_p->xscale, -fig_p->yscale, fig_p->rotate); - if (fig_p->depth != 0.0) - add_xform_matrix (0.0, -fig_p->depth, 1.0, -1.0, 0.0); - release_xform_info (fig_p); - sprintf (work_buffer, " /%s Do Q", fig_res_name); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } else { - fprintf (stderr, "\nendTexFig without valid startTexFig ignored\n"); - } - break; - case TRANSLATE: - if ((tmp2 = POP_STACK()) && tmp2->type == PDF_NUMBER && - (tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - sprintf (work_buffer, "\n1 0 0 1 %g %g cm", - ROUND(pdf_number_value (tmp1),0.01), - ROUND(pdf_number_value (tmp2),0.01)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - transform_path (1.0, 0.0, 0.0, 1.0, - pdf_number_value (tmp1), - pdf_number_value (tmp2)); - } - if (tmp1) - pdf_release_obj (tmp1); - if (tmp2) - pdf_release_obj (tmp2); - break; - case TRUNCATE: - if ((tmp1 = POP_STACK()) && tmp1->type == PDF_NUMBER) { - double val=pdf_number_value(tmp1); - pdf_set_number (tmp1, val>0? floor(val): ceil(val)); - PUSH (tmp1); - } else if (tmp1) - pdf_release_obj (tmp1); - break; - case FONTNAME: - PUSH (pdf_new_string (token, strlen(token))); - break; - default: - fprintf (stderr, - "\nIgnoring remaining special text following unknown PS operator: \"%s\"\n", token); - error = 1; - break; - } - return !error; -} - -static int do_one_ps_line (char **start, char *end, - double x_user, double y_user) - /* the only sections that need to know x_user and y _user are those - dealing with texfig */ -{ - char *token, *save = NULL; - pdf_obj *obj; - int error = 0; - skip_white (start, end); - while (*start < end && !error) { - save = *start; - if (isdigit (**start) || **start == '-' || **start == '.' ) { - token = parse_number (start, end); - PUSH (pdf_new_number(atof(token))); - RELEASE (token); - } else if (**start == '[' && /* This code assumes that arrays are contained on one line */ - (obj = parse_pdf_array (start, end))) { - PUSH (obj); - } else if (**start == '(' && - (obj = parse_pdf_string (start, end))) { - PUSH (obj); - } else if (**start == '/') { - fprintf (stderr, "\nUnable to handle names in raw PS code."); - dump (*start, end); - error = 1; - } else { - token = parse_ident (start, end); - if (!token || !do_operator (token, x_user, y_user)) { - error = 1; - } - if (token) - RELEASE (token); - } - skip_white (start, end); - } - if (*start < end) { - fprintf (stderr, "\nRemainder of line unparsed."); - dump (*start, end); - } - return !error; -} - -static char line_buffer[1024]; -int parse_contents (FILE *image_file) -{ - int error = 0; - top_stack = 0; - x_state = 0.0; - y_state = 0.0; - state = 0; - while (!feof(image_file) && mfgets (line_buffer, sizeof(line_buffer), - image_file)) { - char *start, *end; - start = line_buffer; - end = start+strlen(line_buffer); - if (!do_one_ps_line (&start, end, 0.0, 0.0)) { - error = 1; - break; - } - } - return !error; -} - -int do_raw_ps_special (char **start, char* end, int cleanup, - double x_user, double y_user) -{ - int error = 0; - state = 0; - do_one_ps_line (start, end, x_user, y_user); - if (cleanup) - mp_cleanup(1); - return !error; -} - -void mp_cleanup (int sloppy_ok) -{ - release_fonts(); - if (state != 0) { - if (!sloppy_ok) - fprintf (stderr, "mp_cleanup(): State not zero\n"); - state = 0; - } - if (top_stack != 0) { - if (!sloppy_ok) - fprintf (stderr, "\nPS/MetaPost: PS stack not empty at end of figure!\n"); - } - /* Cleanup paths */ - while (top_stack > 0) { - pdf_obj *p; - if ((p=POP_STACK())) - pdf_release_obj (p); - } - if (n_path_pts > 0) { - if (!sloppy_ok) { - fprintf (stderr, "\nPS/MetaPost: Pending path at end of figure!\n"); - dump_path (); - } - void_path (); - } - if (max_path_pts > 0) { - RELEASE (path); - path = NULL; - max_path_pts = 0; - } -} - -void mp_eop_cleanup(void) -{ - mp_cleanup(1); - num_saves = 0; -} - - -/* mp inclusion is a bit of a hack. The routine - * starts a form at the lower left corner of - * the page and then calls begin_form_xobj telling - * it to record the image drawn there and bundle it - * up in an xojbect. This allows us to use the coordinates - * in the MP file directly. This appears to be the - * easiest way to be able to use the dev_set_string() - * command (with its scaled and extended fonts) without - * getting all confused about the coordinate system. - * After the xobject is created, the whole thing can - * be scaled any way the user wants */ - -pdf_obj *mp_include (FILE *image_file, struct xform_info *p, - char *res_name, double x_user, double y_user) -{ - pdf_obj *xobj = NULL; - rewind (image_file); - if (mp_parse_headers (image_file, p)) { - /* Looks like an MP file. Setup xobj "capture" */ - pdf_scale_image (p); - xobj = begin_form_xobj (p->u_llx,p->u_lly, p->c_llx, p->c_lly, - p->c_urx, p->c_ury, res_name); - if (!xobj) - return NULL; - /* Flesh out the contents */ - if (!parse_contents (image_file)) { - fprintf (stderr, "Errors occured while interpreting MetaPost file.\n\n"); - } - /* Finish off the form */ - end_form_xobj(); - } else { - fprintf (stderr, "\nErrors occured while scanning MetaPost file headers.\n"); - } - mp_cleanup(0); - return xobj; -} - -/* struct xform_info *texfig_info (void) -{ - struct xform_info *p; - p = new_xform_info (); - p -> user_bbox = 1; - p -> width = fig_width; - p -> height = fig_height; - p -> u_llx = fig_llx; - p -> u_lly = fig_lly; - p -> u_urx = fig_urx; - p -> u_ury = fig_ury; - return p; -} */ diff --git a/Build/source/texk/dvipdfm/mpost.h b/Build/source/texk/dvipdfm/mpost.h deleted file mode 100644 index 2fe9f9538c6..00000000000 --- a/Build/source/texk/dvipdfm/mpost.h +++ /dev/null @@ -1,40 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include "pdfobj.h" -#include "pdfspecial.h" - -#ifndef MPOST_H -# define MPOST_H -extern int check_for_mp (FILE *image_file); -extern pdf_obj *mp_include (FILE *image_file, struct xform_info *p, - char *res_name, double x_user, double y_user); -extern int do_raw_ps_special (char **start, char *end, int cleanup, - double x_user, double y_user); -extern void mp_cleanup(int sloppy_is_okay); -extern struct xform_info *texfig_info (void); -extern void mp_eop_cleanup(void); -#endif /* MPOST_H */ - - diff --git a/Build/source/texk/dvipdfm/numbers.c b/Build/source/texk/dvipdfm/numbers.c deleted file mode 100644 index 02f9e2869cf..00000000000 --- a/Build/source/texk/dvipdfm/numbers.c +++ /dev/null @@ -1,317 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include "system.h" -#include "error.h" -#include "mfileio.h" -#include "numbers.h" - -UNSIGNED_BYTE get_unsigned_byte (FILE *file) -{ - int ch; - if ((ch = fgetc (file)) < 0) - ERROR ("File ended prematurely\n"); - return (UNSIGNED_BYTE) ch; -} - -UNSIGNED_BYTE sget_unsigned_byte (char *s) -{ - return *((unsigned char *) s); -} - -SIGNED_BYTE get_signed_byte (FILE *file) -{ - int byte; - byte = get_unsigned_byte(file); - if (byte >= 0x80) - byte -= 0x100; - return (SIGNED_BYTE) byte; -} - -UNSIGNED_PAIR get_unsigned_pair (FILE *file) -{ - int i; - UNSIGNED_BYTE byte; - UNSIGNED_PAIR pair = 0; - for (i=0; i<2; i++) { - byte = get_unsigned_byte(file); - pair = pair*0x100u + byte; - } - return pair; -} - -UNSIGNED_PAIR sget_unsigned_pair (unsigned char *s) -{ - int i; - UNSIGNED_BYTE byte; - UNSIGNED_PAIR pair = 0; - for (i=0; i<2; i++) { - byte = *(s++); - pair = pair*0x100u + byte; - } - return pair; -} - -SIGNED_PAIR get_signed_pair (FILE *file) -{ - int i; - long pair = 0; - for (i=0; i<2; i++) { - pair = pair*0x100 + get_unsigned_byte(file); - } - if (pair >= 0x8000) { - pair -= 0x10000l; - } - return (SIGNED_PAIR) pair; -} - - -UNSIGNED_TRIPLE get_unsigned_triple(FILE *file) -{ - int i; - long triple = 0; - for (i=0; i<3; i++) { - triple = triple*0x100u + get_unsigned_byte(file); - } - return (UNSIGNED_TRIPLE) triple; -} - -SIGNED_TRIPLE get_signed_triple(FILE *file) -{ - int i; - long triple = 0; - for (i=0; i<3; i++) { - triple = triple*0x100 + get_unsigned_byte(file); - } - if (triple >= 0x800000l) - triple -= 0x1000000l; - return (SIGNED_TRIPLE) triple; -} - -SIGNED_QUAD get_signed_quad(FILE *file) -{ - int byte, i; - long quad = 0; - - /* Check sign on first byte before reading others */ - byte = get_unsigned_byte(file); - quad = byte; - if (quad >= 0x80) - quad = byte - 0x100; - for (i=0; i<3; i++) { - quad = quad*0x100 + get_unsigned_byte(file); - } - return (SIGNED_QUAD) quad; -} - -UNSIGNED_QUAD get_unsigned_quad(FILE *file) -{ - int i; - unsigned long quad = 0; - for (i=0; i<4; i++) { - quad = quad*0x100u + get_unsigned_byte(file); - } - return (UNSIGNED_QUAD) quad; -} - -SIGNED_QUAD sqxfw (SIGNED_QUAD sq, fixword fw) -{ - int sign = 1; - unsigned long a, b, c, d, ad, bd, bc, ac; - unsigned long e, f, g, h, i, j, k; - unsigned long result; - /* Make positive. */ - if (sq < 0) { - sign = -sign; - sq = -sq; - } - if (fw < 0) { - sign = -sign; - fw = -fw; - } - a = ((unsigned long) sq) >> 16u; - b = ((unsigned long) sq) & 0xffffu; - c = ((unsigned long) fw) >> 16u; - d = ((unsigned long) fw) & 0xffffu; - ad = a*d; bd = b*d; bc = b*c; ac = a*c; - e = bd >> 16u; - f = ad >> 16u; - g = ad & 0xffffu; - h = bc >> 16u; - i = bc & 0xffffu; - j = ac >> 16u; - k = ac & 0xffffu; - result = (e+g+i + (1<<3)) >> 4u; /* 1<<3 is for rounding */ - result += (f+h+k) << 12u; - result += j << 28u; - return (sign>0)?result:-result; -} - -SIGNED_QUAD axboverc (SIGNED_QUAD n1, SIGNED_QUAD n2, SIGNED_QUAD div) -{ - int sign = 1; - unsigned long a, b, c, d, ad, bd, bc, ac, e, f, g, h, i, j, o; - unsigned long high, low; - SIGNED_QUAD result = 0; - /* Make positive. */ - if (n1 < 0) { - sign = -sign; - n1 = -n1; - } - if (n2 < 0) { - sign = -sign; - n2 = -n2; - } - if (div < 0) { - sign = -sign; - div = -div; - } - a = ((unsigned long) n1) >> 16u; - b = ((unsigned long) n1) & 0xffffu; - c = ((unsigned long) n2) >> 16u; - d = ((unsigned long) n2) & 0xffffu; - ad = a*d; bd = b*d; bc = b*c; ac = a*c; - e = bd >> 16u; f = bd & 0xffffu; - g = ad >> 16u; h = ad & 0xffffu; - i = bc >> 16u; j = bc & 0xffffu; - o = e+h+j; - high = g+i+(o>>16u)+ac; o &= 0xffffu; - low = (o << 16) + f; - if (high >= div) - ERROR ("Overflow in axboc"); - { - int i; - for (i=0; i<32; i++) { - high *= 2; - result *= 2; - if (low >= 0x80000000) { - low -= 0x80000000; - high += 1; - } - low *= 2; - if (high > div) { - high -= div; - result += 1; - } - } - } - high *= 2; - if (high >= div) - result += 1; - return (sign>0)?result:-result; -} - -/* Create a private_itoa to be used internally in the - hopes that a good optimizing compiler will use it inline */ -static int private_itoa (char *s, long int n, int mindigits) -{ - int j, nwhole; - char *p = s; - if (n<0) { - *(p++) = '-'; - n = -n; - } - /* Generate at least one digit in reverse order */ - nwhole = 0; - do { - p[nwhole++] = n%10 + '0'; - n /= 10; - } while (n != 0 || nwhole < mindigits); - /* Reverse the digits */ - for (j=0; j<nwhole/2; j++) { - char tmp = p[j]; - p[j] = p[nwhole-j-1]; - p[nwhole-j-1]=tmp; - } - p += nwhole; - *p = 0; - return (p-s); -} - -int inttoa (char *s, long int i) -{ - /* Call the private one */ - return private_itoa (s, i, 0); -} - -int centi_u_to_a (char *s, long int n) -{ - char *p = s; - unsigned long whole_part; - int frac_part; - if (n<0) { - *(p++) = '-'; - n = -n; - } - whole_part = ((unsigned long) n) / 100; - frac_part = ((unsigned long) n) % 100; - /* Print the whole part */ - p += private_itoa (p, whole_part, 0); - if (frac_part) { - int mindigits = 2; - *(p++) = '.'; - while (!(frac_part % 10)) { - frac_part /= 10; - mindigits -= 1; - } - p += private_itoa (p, frac_part, mindigits); - } - return (p-s); -} - -int fixnumtoa (char *s, long int n) -{ - int j, thresh; - char *p = s; - unsigned long whole_part, frac_part; - if (n<0) { - *(p++) = '-'; - n = -n; - } - whole_part = ((unsigned long) n) / (65536l); - frac_part = ((unsigned long) n) % 65536l; - /* Print the whole part */ - p += private_itoa (p, whole_part, 0); - - #define BASE ((unsigned long)(256*65536l)) - frac_part *= 256; - thresh = BASE / 10000; - /* Round last digit */ - frac_part += thresh/2; - if (frac_part > thresh) { - *(p++) = '.'; - } - for (j=0; j<4 && frac_part> thresh; j++) { - char next_digit; - next_digit = (10*frac_part)/BASE; - frac_part = (10*frac_part)%BASE; - *(p++) = next_digit + '0'; - thresh *= 10; - } - *p = 0; - return (p-s); -} - - - diff --git a/Build/source/texk/dvipdfm/numbers.h b/Build/source/texk/dvipdfm/numbers.h deleted file mode 100644 index b35ebf46278..00000000000 --- a/Build/source/texk/dvipdfm/numbers.h +++ /dev/null @@ -1,85 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef NUMBERS_H -#define NUMBERS_H - -#include <stdio.h> -#include <math.h> - -typedef unsigned char Ubyte; - -typedef int UNSIGNED_BYTE, SIGNED_BYTE, SIGNED_PAIR; -typedef unsigned UNSIGNED_PAIR; -typedef long UNSIGNED_TRIPLE, SIGNED_TRIPLE, SIGNED_QUAD; -typedef unsigned long UNSIGNED_QUAD; - -extern UNSIGNED_BYTE get_unsigned_byte (FILE *); - -extern UNSIGNED_BYTE sget_unsigned_byte (char *); - -extern SIGNED_BYTE get_signed_byte (FILE *); - -extern UNSIGNED_PAIR get_unsigned_pair (FILE *); - -extern UNSIGNED_PAIR sget_unsigned_pair (unsigned char *); - -extern SIGNED_PAIR get_signed_pair (FILE *); - -extern UNSIGNED_TRIPLE get_unsigned_triple (FILE *); - -extern SIGNED_TRIPLE get_signed_triple (FILE *); - -extern SIGNED_QUAD get_signed_quad (FILE *); - -extern UNSIGNED_QUAD get_unsigned_quad (FILE *); - -#define ROUND(n,acc) (floor(((double)n)/(acc)+0.5)*(acc)) -#ifndef MAX - #define MAX(a,b) ((a)>(b)?(a):(b)) -#endif -#ifndef MIN - #define MIN(a,b) ((a)<(b)?(a):(b)) -#endif - -#define ISODD(n) (((n)/2)*2!=(n)) -#define ISEVEN(n) (((n)/2)*2==(n)) - -typedef signed long fixword; - -extern SIGNED_QUAD sqxfw (SIGNED_QUAD sq, fixword fw); -extern SIGNED_QUAD axboverc (SIGNED_QUAD n1, SIGNED_QUAD n2, - SIGNED_QUAD div); - -int fixnumtoa (char *s, long int i); -int inttoa (char *s, long int i); -int centi_u_to_a (char *s, long int i); - -#define IDIVRND(a,b) ((a)>0? ((a)+(b)/2)/(b): -((-(a)+(b)/2)/(b))) - -#define IDIV(a,b) ((a)>0? (a)/(b): -(-(a))/(b)) - -#endif /* NUMBERS_H */ - diff --git a/Build/source/texk/dvipdfm/pdfdev.c b/Build/source/texk/dvipdfm/pdfdev.c deleted file mode 100644 index 461881d606a..00000000000 --- a/Build/source/texk/dvipdfm/pdfdev.c +++ /dev/null @@ -1,1343 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include "config.h" -#include <math.h> -#include <string.h> -#include <ctype.h> -#include <stdlib.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "tfm.h" -#include "pdfdev.h" -#include "pdfdoc.h" -#include "pdfobj.h" -#include "type1.h" -#include "ttf.h" -#include "pkfont.h" -#include "pdfspecial.h" -#include "pdfparse.h" -#include "tpic.h" -#include "htex.h" -#include "mpost.h" -#include "psspecial.h" -#include "colorsp.h" -#include "pdflimits.h" -#include "twiddle.h" -#include "encodings.h" - -/* Internal functions */ -static void dev_clear_color_stack (void); -static void dev_clear_xform_stack (void); - -double hoffset = 72.0, voffset=72.0; - -static double dvi2pts = 0.0; - - /* Acrobat doesn't seem to like coordinate systems - that involve scalings around 0.01, so we use - a scaline of 1.0. In other words, device units = pts */ -/* Following dimensions in virtual device coordinates, -which are points */ - -static double page_width=612.0, page_height=792.0; -int page_size_readonly = 0; - -void dev_set_page_size (double width, double height) -{ - if (page_size_readonly) { - fprintf (stderr, "\nSorry. Too late to change page size\n"); - } else { - page_width = width; - page_height = height; - } -} - -double dev_page_width(void) -{ - page_size_readonly = 1; - return page_width; -} - -double dev_page_height(void) -{ - page_size_readonly = 1; - return page_height; -} - -static int debug = 0, verbose = 0; - -void dev_set_verbose (void) -{ - verbose += 1; -} -void dev_set_debug (void) -{ - debug = 1; -} - -#define GRAPHICS_MODE 1 -#define TEXT_MODE 2 -#define STRING_MODE 3 - -int motion_state = GRAPHICS_MODE; /* Start in graphics mode */ - -#define FORMAT_BUF_SIZE 4096 -static char format_buffer[FORMAT_BUF_SIZE]; - -/* The coordinate system in the pdf file is setup so that 1 unit in the - PDF content stream's coordinate system represents 65,800 DVI units. - This choice was made so that a PDF coordinate represented only - to the hundredths place represents an exact integer number of DVI units. - Doing so allows relative motions in a PDF file to be known - precisely in DVI units, and allows us to keep track of relative motions - using integer arithmetic. Relative motions in the PDF file are - represented in decimal with no more than two digits after the decimal - point. In the PDF stream, a PDF user coordinate of 0.01 represents - exactly 658 DVI units. - - The "pdfdev" module is the only module that knows the - relationship between PDF units and true points. It provides - pdf_dev_scale() to inform other modules of the scale. - Modules that render PDF marking operators (such as those - that render tpic specials or PS specials) need this value. - The overhead of this call is a slight performance hit for - rendering images, but allows dvipdfm to set text blazingly fast - - - Some constants related to this representation follow: */ - -#define PDF_U 65800L /* Number of DVI units in a PDF unit */ -#define CENTI_PDF_U 658 /* Number of DVI units in a centi PDF unit */ - -/* pdf_dev_scale() returns the factor by which a PDF unit - * must be multiplied to produce an Adobe point (big point) */ - -double pdf_dev_scale (void) -{ - return 65800.0*dvi2pts; -} - - - /* Device coordinates are relative to upper left of page. One of the - first things appearing in the page stream is a coordinate transformation - matrix that forces this to be true. This coordinate - transformation is the only place where the paper size is required. - Unfortunately, positive is up, which doesn't agree with TeX's convention. */ - -static spt_t text_xorigin = 0, text_yorigin = 0, - text_offset = 0; -double text_slant = 0.0, text_extend = 1.0; - -unsigned num_dev_fonts = 0; -unsigned num_phys_fonts = 0; -int current_font = -1; - -#define PHYSICAL 1 -#define VIRTUAL 2 - -#define TYPE1 1 -#define PK 2 -#define TRUETYPE 3 - -#define DEFAULT_MAP_FILE "dvipdfm.map" - -static struct dev_font { - char short_name[7]; /* Needs to be big enough to hold name "Fxxx" - where xxx is number of largest font */ - unsigned char used_on_this_page, format; - char *tex_name; - spt_t sptsize; - pdf_obj *font_resource; - char *used_chars; - double extend, slant; - int remap; -} *dev_font = NULL; - -static unsigned max_device_fonts = 0; - -void dev_fonts_need (unsigned n) -{ - if (n > max_device_fonts) { - max_device_fonts = MAX(max_device_fonts+MAX_FONTS, n); - dev_font = RENEW (dev_font, max_device_fonts, struct dev_font); - } -} - -struct map_record { - char *tex_name, *font_name, *enc_name; - double slant, extend; - int remap; -} *font_map = NULL; - -unsigned int num_font_map = 0, max_font_map = 0; - -static void font_maps_need (int n) -{ - if (n > max_font_map) { - max_font_map = MAX(max_font_map+MAX_FONTS, n); - font_map = RENEW (font_map, max_font_map, struct map_record); - } - return; -} - -static void init_map_record (struct map_record *r) -{ - r->tex_name = NULL; - r->enc_name = NULL; - r->font_name = NULL; - r->slant = 0.0; - r->extend = 1.0; - r->remap = 0.0; - return; -} - -static void release_map_record (struct map_record *r) -{ - if (r && r->tex_name) - RELEASE (r->tex_name); - if (r && r->enc_name) - RELEASE (r->enc_name); - if (r && r->font_name) - RELEASE (r->font_name); -} - - -static void fill_in_defaults (struct map_record *this_map_record) -{ - if (this_map_record -> enc_name != NULL && - (!strcmp (this_map_record->enc_name, "default") || - !strcmp (this_map_record->enc_name, "none"))) { - RELEASE(this_map_record->enc_name); - this_map_record -> enc_name = NULL; - } - if (this_map_record -> font_name != NULL && - (!strcmp (this_map_record->font_name, "default") || - !strcmp (this_map_record->font_name, "none"))) { - RELEASE(this_map_record->font_name); - this_map_record -> font_name = NULL; - } - /* We *must* fill in a font_name either explicitly or by default - (the tex_name) */ - if (this_map_record -> font_name == NULL) { - this_map_record -> font_name = NEW (strlen(this_map_record->tex_name)+1, char); - strcpy (this_map_record->font_name, this_map_record->tex_name); - } - return; -} - -void dev_read_mapfile (char *filename) -{ - FILE *mapfile; - char *full_map_filename, *start = NULL, *end, *tex_name; - if (verbose > 0) - fprintf (stderr, "<%s", filename); - full_map_filename = kpse_find_file (filename, kpse_fontmap_format, - 0); - if (full_map_filename == NULL || - (mapfile = MFOPEN (full_map_filename, FOPEN_R_MODE)) == NULL) { - fprintf (stderr, "Warning: Couldn't open font map file %s\n", filename); - mapfile = NULL; - } - if (mapfile) { - while ((start = mfgets (work_buffer, WORK_BUFFER_SIZE, mapfile)) != - NULL) { - end = work_buffer + strlen(work_buffer); - skip_white (&start, end); - if (start >= end) - continue; - if (*start == '%') - continue; - if ((tex_name = parse_ident (&start, end)) == NULL) - continue; - /* Parse record line in map file. First two fields (after TeX font - name) are position specific. Arguments start at the first token - beginning with a '-' */ - font_maps_need (num_font_map+1); - init_map_record(font_map+num_font_map); - font_map[num_font_map].tex_name = tex_name; - skip_white (&start, end); - if (*start != '-') { - font_map[num_font_map].enc_name = parse_ident (&start, end); /* May be null */ - skip_white (&start, end); - } - if (*start != '-') { - font_map[num_font_map].font_name = parse_ident (&start, end); /* May be null */ - skip_white (&start, end); - } - /* Parse any remaining arguments */ - while (start+1 < end && *start == '-') { - char *number; - switch (*(start+1)) { - case 's': /* Slant option */ - start += 2; - skip_white (&start, end); - if (start < end && - (number = parse_number(&start, end))) { - font_map[num_font_map].slant = atof (number); - RELEASE (number); - } else { - fprintf (stderr, "\n\nMissing slant value in map file for %s\n\n", - tex_name); - } - break; - case 'e': /* Extend option */ - start += 2; - skip_white (&start, end); - if (start < end && - (number = parse_number(&start, end))) { - font_map[num_font_map].extend = atof (number); - RELEASE (number); - } else { - fprintf (stderr, "\n\nMissing extend value in map file for %s\n\n", - tex_name); - } - break; - case 'r': /* Remap option */ - start += 2; - skip_white (&start, end); - font_map[num_font_map].remap = 1; - break; - default: - fprintf (stderr, "\n\nWarning: Unrecognized option in map file %s: -->%s<--\n\n", - tex_name, start); - start = end; - } - skip_white (&start, end); - } - fill_in_defaults (font_map+num_font_map); - num_font_map += 1; - } - MFCLOSE (mapfile); - if (verbose > 0) - fprintf (stderr, ">"); - } - return; -} - -struct map_record *get_map_record (const char *tex_name) -{ - struct map_record *result = NULL; - int tried_default = 0; - unsigned int i; - if (!font_map && !tried_default) { - dev_read_mapfile (DEFAULT_MAP_FILE); - tried_default = 1; - } - if (!font_map) - return result; - for (i=0; i<num_font_map; i++) { - if (!strcmp (font_map[i].tex_name, tex_name)) { - result = font_map+i; - break; - } - } - return result; -} - -/* - * reset_text_state() outputs a BT - * and does any necessary coordinate transformations - * to get ready to ship out text - */ - -static void reset_text_state(void) -{ - int len; - text_xorigin = 0; - text_yorigin = 0; - text_offset = 0; - /* - * We need to reset the line matrix to handle slanted fonts - */ - sprintf (format_buffer, " BT"); - len = strlen (format_buffer); - if (current_font >= 0 && /* If not at top of page */ - (dev_font[current_font].slant != 0.0 || - dev_font[current_font].extend != 1.0)) { - sprintf (format_buffer+len, " %.7g 0 %.3g 1 ", - dev_font[current_font].extend, - dev_font[current_font].slant); - len += strlen (format_buffer+len); - len += centi_u_to_a (format_buffer+len, IDIVRND (text_xorigin, CENTI_PDF_U)); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, IDIVRND (text_yorigin, CENTI_PDF_U)); - format_buffer[len++] = ' '; - format_buffer[len++] = 'T'; - format_buffer[len++] = 'm'; - } - pdf_doc_add_to_page (format_buffer, len); -} - -static void text_mode (void) -{ - switch (motion_state) { - case STRING_MODE: - pdf_doc_add_to_page (")]TJ", 4); - case TEXT_MODE: - break; - case GRAPHICS_MODE: - reset_text_state(); - break; - } - motion_state = TEXT_MODE; - text_offset = 0; - return; -} - -void graphics_mode (void) -{ - switch (motion_state) { - case GRAPHICS_MODE: - break; - case STRING_MODE: - pdf_doc_add_to_page (")]TJ", 4); - case TEXT_MODE: - pdf_doc_add_to_page (" ET", 3); - break; - } - motion_state = GRAPHICS_MODE; - return; -} - -static void string_mode (spt_t xpos, spt_t ypos, double slant, double extend) -{ - spt_t delx, dely; - int len = 0; - switch (motion_state) { - case STRING_MODE: - break; - case GRAPHICS_MODE: - reset_text_state(); - /* Fall through now... */ - /* Following may be necessary after a rule (and also after - specials) */ - case TEXT_MODE: - delx = xpos - text_xorigin; - { - spt_t rounded_delx, desired_delx; - spt_t rounded_dely, desired_dely; - spt_t dvi_xerror, dvi_yerror; - - /* First round dely (it is needed for delx) */ - dely = ypos - text_yorigin; - desired_dely = dely; - rounded_dely = IDIVRND(desired_dely, CENTI_PDF_U) * CENTI_PDF_U; - /* Next round delx, precompensating for line transformation matrix */ - desired_delx = (delx-desired_dely*slant)/extend; - rounded_delx = IDIVRND(desired_delx, CENTI_PDF_U) * CENTI_PDF_U; - /* Estimate errors in DVI units */ - dvi_yerror = (desired_dely - rounded_dely); - dvi_xerror = (extend*(desired_delx - rounded_delx)+slant*dvi_yerror); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, rounded_delx/CENTI_PDF_U); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, rounded_dely/CENTI_PDF_U); - pdf_doc_add_to_page (format_buffer, len); - len = 0; - pdf_doc_add_to_page (" TD[(", 5); - text_xorigin = xpos-dvi_xerror; - text_yorigin = ypos-dvi_yerror; - } - text_offset = 0; - break; - } - motion_state = STRING_MODE; - return; -} - -/* The purpose of the following routine is to force a Tf only - when it's actually necessary. This became a problem when the - VF code was added. The VF spec says to instantiate the - first font contained in the VF file before drawing a virtual - character. However, that font may not be used for - many characters (e.g. small caps fonts). For this reason, - dev_select_font() should not force a "physical" font selection. - This routine prevents a PDF Tf font selection until there's - really a character in that font. */ - -static void dev_set_font (int font_id) -{ - int len = 0; - text_mode(); - sprintf (format_buffer, "/%s ", dev_font[font_id].short_name); - len = strlen (format_buffer); - len += centi_u_to_a (format_buffer+len, IDIVRND(dev_font[font_id].sptsize, CENTI_PDF_U)); - format_buffer[len++] = ' '; - format_buffer[len++] = 'T'; - format_buffer[len++] = 'f'; - if (dev_font[font_id].slant != text_slant || - dev_font[font_id].extend != text_extend) { - sprintf (format_buffer+len, " %.7g 0 %.3g 1 ", - dev_font[font_id].extend, - dev_font[font_id].slant); - len += strlen (format_buffer+len); - len += centi_u_to_a (format_buffer+len, IDIVRND(text_xorigin, CENTI_PDF_U)); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, IDIVRND(text_yorigin, CENTI_PDF_U)); - format_buffer[len++] = ' '; - format_buffer[len++] = 'T'; - format_buffer[len++] = 'm'; - /* There's no longer any uncertainty about where we are */ - text_slant = dev_font[font_id].slant; - text_extend = dev_font[font_id].extend; - } - pdf_doc_add_to_page (format_buffer, len); - /* Add to Font list in Resource dictionary for this page */ - if (!dev_font[font_id].used_on_this_page) { - pdf_doc_add_to_page_fonts (dev_font[font_id].short_name, - pdf_link_obj(dev_font[font_id].font_resource)); - dev_font[font_id].used_on_this_page = 1; - } - current_font = font_id; - return; -} - -void dev_set_string (spt_t xpos, spt_t ypos, unsigned char *s, int - length, spt_t width, int font_id) -{ - int len = 0; - long kern; - - if (font_id != current_font) - dev_set_font(font_id); /* Force a Tf since we are actually trying - to write a character */ - /* Kern is in units of character units, i.e., 1000 = 1 em. */ - /* The following formula is of the form a*x/b where a, x, and b are - long integers. Since in integer arithmetic (a*x) could overflow - and a*(x/b) would not be accurate, we use floating point - arithmetic rather than trying to do this all with integer - arithmetic. */ - kern = - (1000.0/dev_font[font_id].extend*(text_xorigin+text_offset-xpos))/dev_font[font_id].sptsize; - - if (labs(ypos-text_yorigin) > CENTI_PDF_U || /* CENTI_PDF_U is smallest resolvable dimension */ - abs(kern) > 32000) { /* Some PDF Readers fail on large kerns */ - text_mode(); - kern = 0; - } - if (motion_state != STRING_MODE) - string_mode(xpos, ypos, dev_font[font_id].slant, dev_font[font_id].extend); - else if (kern != 0) { - text_offset -= - kern*dev_font[font_id].extend*(dev_font[font_id].sptsize/1000.0); - /* Same issues as earlier. Use floating point for simplicity */ - /* This routine needs to be fast, so we don't call sprintf() or - strcpy() */ - format_buffer[len++] = ')'; - len += inttoa (format_buffer+len, kern); - format_buffer[len++] = '('; - pdf_doc_add_to_page (format_buffer, len); - len = 0; - } - len += pdfobj_escape_str (format_buffer+len, FORMAT_BUF_SIZE-len, s, - length, - dev_font[font_id].remap); - pdf_doc_add_to_page (format_buffer, len); - - /* Record characters used for partial font embedding */ - /* Fonts without pfbs don't get counted and have used_chars set to - null */ - if (dev_font[font_id].used_chars != NULL) { - int i; - if (dev_font[font_id].remap) - for (i=0; i<length; i++){ - (dev_font[font_id].used_chars)[twiddle(s[i])] = 1; - } - else - for (i=0; i<length; i++){ - (dev_font[font_id].used_chars)[s[i]] = 1; - } - } - text_offset += width; -} - -void dev_init (double scale, double x_offset, double y_offset) -{ - dvi2pts = scale; - hoffset = x_offset; - voffset = y_offset; - if (debug) fprintf (stderr, "dev_init:\n"); - graphics_mode(); - dev_clear_color_stack(); - dev_clear_xform_stack(); -} - -void dev_close (void) -{ - /* Set page origin now that user has had plenty of time - to set page size */ - pdf_doc_set_origin((double) hoffset, (double) - dev_page_height()-voffset); -} - -void dev_add_comment (char *comment) -{ - pdf_doc_creator (comment); -} - - -/* BOP, EOP, and FONT section. - BOP and EOP manipulate some of the same data structures - as the font stuff */ - -#define GRAY 1 -#define RGB 2 -#define CMYK 3 -struct color { - int colortype; - double c1, c2, c3, c4; -} colorstack[MAX_COLORS], background = {GRAY, 1.0, 1.0, 1.0, 1.0}, - default_color = {GRAY, 0.0, 0.0, 0.0, 0.0}; - -#include "colors.h" - -struct color color_by_name (char *s) -{ - int i; - struct color result; - for (i=0; i<sizeof(colors_by_name)/sizeof(colors_by_name[0]); i++) { - if (!strcmp (s, colors_by_name[i].name)) { - break; - } - } - if (i == sizeof(colors_by_name)/sizeof(colors_by_name[0])) { - fprintf (stderr, "Color \"%s\" no known. Using \"Black\" instead.\n", s); - result = default_color; - } else { - result = colors_by_name[i].color; - } - return result; -} - -static int num_colors = 0; - -static void fill_page (void) -{ - if (background.colortype == GRAY && background.c1 == 1.0) - return; - switch (background.colortype) { - case GRAY: - sprintf (format_buffer, " q 0 w %.3f g %.3f G", background.c1, background.c1); - break; - case RGB: - sprintf (format_buffer, " q 0 w %.3f %.3f %.3f rg %.3f %.3f %.3f RG", - background.c1, background.c2, background.c3, - background.c1, background.c2, background.c3); - break; - case CMYK: - sprintf (format_buffer, " q 0 w %.3f %.3f %.3f %.3f k %.3f %.3f %.3f %.3f K ", - background.c1, background.c2, background.c3, background.c4, - background.c1, background.c2, background.c3, background.c4); - break; - } - pdf_doc_this_bop (format_buffer, strlen(format_buffer)); - sprintf (format_buffer, - " 0 0 m %.2f 0 l %.2f %.2f l 0 %.2f l b Q ", - dev_page_width(), dev_page_width(), dev_page_height(), - dev_page_height()); - pdf_doc_this_bop (format_buffer, strlen(format_buffer)); - return; -} - -void dev_bg_rgb_color (double r, double g, double b) -{ - background.colortype = RGB; - background.c1 = r; - background.c2 = g; - background.c3 = b; - return; -} - -void dev_bg_cmyk_color (double c, double m, double y, double k) -{ - background.colortype = CMYK; - background.c1 = c; - background.c2 = m; - background.c3 = y; - background.c4 = k; - return; -} - -void dev_bg_gray (double value) -{ - background.colortype = GRAY; - background.c1 = value; - return; -} - -void dev_bg_named_color (char *s) -{ - struct color color = color_by_name (s); - switch (color.colortype) { - case GRAY: - dev_bg_gray (color.c1); - break; - case RGB: - dev_bg_rgb_color (color.c1, color.c2, color.c3); - break; - case CMYK: - dev_bg_cmyk_color (color.c1, color.c2, color.c3, color.c4); - break; - } - return; -} - -static void dev_clear_color_stack (void) -{ - num_colors = 0; - return; -} -static void dev_set_color (struct color color) -{ - switch (color.colortype) { - int len; - case RGB: - sprintf (format_buffer, " %.2f %.2f %.2f", - color.c1, - color.c2, - color.c3); - len = strlen (format_buffer); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" rg", 3); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" RG", 3); - break; - case CMYK: - sprintf (format_buffer, " %.2f %.2f %.2f %.2f", - color.c1, - color.c2, - color.c3, - color.c4); - len = strlen (format_buffer); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" k", 2); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" K ", 3); - break; - case GRAY: - sprintf (format_buffer, " %.2f", color.c1); - len = strlen (format_buffer); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" g", 2); - pdf_doc_add_to_page (format_buffer, len); - pdf_doc_add_to_page (" G", 2); - break; - default: - ERROR ("Internal error: Invalid default color item"); - } -} - - -void dev_do_color (void) -{ - if (num_colors == 0) { - dev_set_color (default_color); - } else { - dev_set_color (colorstack[num_colors-1]); - } - return; -} - -void dev_set_def_rgb_color (double r, double g, double b) -{ - default_color.c1 = r; - default_color.c2 = g; - default_color.c3 = b; - default_color.colortype = RGB; - dev_do_color(); - return; -} - -void dev_set_def_gray (double g) -{ - default_color.c1 = g; - default_color.colortype = GRAY; - dev_do_color(); - return; -} - -void dev_set_def_named_color (char *s) -{ - struct color color = color_by_name (s); - switch (color.colortype) { - case GRAY: - dev_set_def_gray (color.c1); - break; - case RGB: - dev_set_def_rgb_color (color.c1, color.c2, color.c3); - break; - case CMYK: - dev_set_def_cmyk_color (color.c1, color.c2, color.c3, color.c4); - break; - } - return; -} - -void dev_set_def_cmyk_color (double c, double m, double y, double k) -{ - default_color.c1 = c; - default_color.c2 = m; - default_color.c3 = y; - default_color.c4 = k; - default_color.colortype = CMYK; - dev_do_color(); - return; -} - -void dev_begin_named_color (char *s) -{ - struct color color = color_by_name (s); - switch (color.colortype) { - case GRAY: - dev_begin_gray (color.c1); - break; - case RGB: - dev_begin_rgb_color (color.c1, color.c2, color.c3); - break; - case CMYK: - dev_begin_cmyk_color (color.c1, color.c2, color.c3, color.c4); - break; - } - return; -} - -void dev_begin_rgb_color (double r, double g, double b) -{ - if (num_colors >= MAX_COLORS) { - fprintf (stderr, "\ndev_set_color: Exceeded depth of color stack\n"); - return; - } - colorstack[num_colors].c1 = r; - colorstack[num_colors].c2 = g; - colorstack[num_colors].c3 = b; - colorstack[num_colors].colortype = RGB; - num_colors+= 1; - dev_do_color(); -} - -void dev_begin_cmyk_color (double c, double m, double y, double k) -{ - if (num_colors >= MAX_COLORS) { - fprintf (stderr, "\ndev_set_color: Exceeded depth of color stack\n"); - return; - } - colorstack[num_colors].c1 = c; - colorstack[num_colors].c2 = m; - colorstack[num_colors].c3 = y; - colorstack[num_colors].c4 = k; - colorstack[num_colors].colortype = CMYK; - num_colors+= 1; - dev_do_color(); -} - -void dev_begin_gray (double value) -{ - if (num_colors >= MAX_COLORS) { - fprintf (stderr, "\ndev_begin_gray: Exceeded depth of color stack\n"); - return; - } - colorstack[num_colors].c1 = value; - colorstack[num_colors].colortype = GRAY; - num_colors+= 1; - dev_do_color(); -} - -void dev_end_color (void) -{ - if (num_colors <= 0) { - fprintf (stderr, "\ndev_set_color: End color with no corresponding begin color\n"); - return; - } - num_colors -= 1; - dev_do_color(); -} - -static int num_transforms = 0; - -static void dev_clear_xform_stack (void) -{ - num_transforms = 0; - return; -} - -void dev_begin_xform (double xscale, double yscale, double rotate, - double x_user, double y_user) -{ - double c, s; - if (num_transforms >= MAX_TRANSFORMS) { - fprintf (stderr, "\ndev_begin_xform: Exceeded depth of transformation stack\n"); - return; - } - c = ROUND (cos(rotate),1e-5); - s = ROUND (sin(rotate),1e-5); - sprintf (work_buffer, " q %g %g %g %g %.2f %.2f cm", - xscale*c, xscale*s, -yscale*s, yscale*c, - (1.0-xscale*c)*x_user+yscale*s*y_user, - -xscale*s*x_user+(1.0-yscale*c)*y_user); - pdf_doc_add_to_page (work_buffer, strlen(work_buffer)); - num_transforms += 1; - return; -} - -void dev_end_xform (void) -{ - if (num_transforms <= 0) { - fprintf (stderr, "\ndev_end_xform: End transform with no corresponding begin\n"); - return; - } - pdf_doc_add_to_page (" Q", 2); - num_transforms -= 1; - /* Unfortunately, the following two lines are necessary in case of a font or color - change inside of the save/restore pair. Anything that was done - there must be redone, so in effect, we make no assumptions about - what fonts. We act like we are starting a new page */ - dev_reselect_font(); - dev_do_color(); - return; -} - -int dev_xform_depth (void) -{ - return num_transforms; -} - -void dev_close_all_xforms (int depth) -{ - if (num_transforms > depth) { - fprintf (stderr, "\nspecial: Closing pending transformations at end of page/XObject\n"); - while (num_transforms > depth) { - num_transforms -= 1; - pdf_doc_add_to_page (" Q", 2); - } - dev_reselect_font(); - dev_do_color(); - } - return; -} - - -/* The following routine is here for forms. Since - a form is self-contained, it will need its own Tf command - at the beginningg even if it is continuing to set type - in the current font. This routine simply forces reinstantiation - of the current font. */ -void dev_reselect_font(void) -{ - int i; - current_font = -1; - for (i=0; i<num_dev_fonts; i++) { - dev_font[i].used_on_this_page = 0; - } - text_slant = 0.0; - text_extend = 1.0; -} - -static void bop_font_reset(void) -{ - dev_reselect_font(); -} - -void dev_bop (void) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (debug) { - fprintf (stderr, "dev_bop:\n"); - } - pdf_doc_new_page (); - graphics_mode(); - { - text_slant = 0.0; - text_extend = 1.0; - } - bop_font_reset(); - /* This shouldn't be necessary because line widths are now - explicitly set for each rule */ - /* pdf_doc_add_to_page ("0 w", 3); */ - dev_do_color(); /* Set text color since new page loses color state */ -#ifdef MEM_DEBUG -MEM_END -#endif -} - -void dev_eop (void) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (debug) { - fprintf (stderr, "dev_eop:\n"); - } - graphics_mode(); - dev_close_all_xforms(0); - fill_page(); - pdf_doc_finish_page (); - /* Finish any pending PS specials */ - mp_eop_cleanup(); -#ifdef MEM_DEBUG -MEM_END -#endif -} - -int dev_locate_font (const char *tex_name, spt_t ptsize) -{ - int i; - int this_font; - - if (ptsize == 0) { - ERROR ("locate_dev_font() called with ptsize = 0"); - } - /* Make sure we have room for a new one, even though we - may not actually create one */ - dev_fonts_need (num_dev_fonts+1); - this_font = num_dev_fonts; - - for (i=0; i<this_font; i++) { - /* PK must match in name and size to resolve to the same device - font */ - if (dev_font[i].tex_name && - strcmp (tex_name, dev_font[i].tex_name) == 0 && - dev_font[i].sptsize == ptsize && - dev_font[i].format == PK) - break; - /* Scaleable fonts must match in name; however, this routine - must return a different id if the ptsize is different */ - if (dev_font[i].tex_name && - strcmp (tex_name, dev_font[i].tex_name) == 0 && - dev_font[i].format != PK) - break; - } - if (i == this_font) { /* There is no physical font we can use */ - struct map_record *map_record; - int font_id = -1, font_format = -1, tfm_id = -1, encoding_id = -1; - int remap = 0; - double extend= 1.0, slant = 0.0; - const char *font_name; - char short_name[7]; - /* Get appropriate info from map file (yes, PK fonts at two - different point sizes would be looked up twice unecessarily) */ - if ((map_record = get_map_record (tex_name))) { - remap = map_record -> remap; - slant = map_record -> slant; - extend = map_record -> extend; - font_name = map_record -> font_name; - } else { - font_name = tex_name; - } - if (verbose>1){ - if (map_record) { - fprintf (stderr, "\nfontmap: %s -> %s", tex_name, - map_record->font_name); - if (map_record->enc_name) - fprintf (stderr, "(%s)", map_record->enc_name); - if (map_record->slant) - fprintf (stderr, "[slant=%g]", map_record->slant); - if (map_record->extend != 1.0) - fprintf (stderr, "[extend=%g]", map_record->extend); - if (map_record->remap) - fprintf (stderr, "[remap]"); - fprintf (stderr, "\n"); - } else { - fprintf (stderr, "\nfontmap: %s (no map)\n", tex_name); - } - } - /* If this font has an encoding specified on the record, get its id */ - if (map_record && map_record -> enc_name != NULL) { - encoding_id = get_encoding (map_record -> enc_name); - } else { /* Otherwise set the encoding_id to -1 */ - encoding_id = -1; - } - tfm_id = tfm_open (tex_name); - /* We assume, for now that we will find this as a physical font, - as opposed to a vf, so we need a device name to tell the - lower-level routines what we want this to be called. We'll - blast this name away later if we don't need it. */ - short_name[0] = 'F'; - inttoa (short_name+1, num_phys_fonts+1); - if ((font_id = type1_font (font_name, tfm_id, - short_name, encoding_id, remap))>=0) { - font_format = TYPE1; -#ifdef HAVE_TTF_FORMATS - } else if ((font_id = ttf_font (font_name, tfm_id, - short_name, encoding_id, remap))>=0) { - font_format = TRUETYPE; -#endif /* HAVE_TTF_FORMATS */ - } else if ((font_id = pk_font (font_name, ptsize*dvi2pts, - tfm_id, - short_name))>=0) { - font_format = PK; - } - if (font_format >= 0) { /* This is a new physical font and we found a physical - font we can use */ - strcpy (dev_font[this_font].short_name, short_name); - dev_font[this_font].tex_name = NEW (strlen (tex_name)+1, char); - strcpy (dev_font[this_font].tex_name, tex_name); - dev_font[this_font].sptsize = ptsize; - dev_font[this_font].format = font_format; - dev_font[this_font].slant = slant; - dev_font[this_font].extend = extend; - dev_font[this_font].remap = remap; - dev_font[this_font].used_on_this_page = 0; - switch (font_format) { - case TYPE1: - dev_font[this_font].font_resource = - type1_font_resource(font_id); - dev_font[this_font].used_chars = type1_font_used(font_id); - break; -#ifdef HAVE_TTF_FORMATS - case TRUETYPE: - dev_font[this_font].font_resource = - ttf_font_resource(font_id); - dev_font[this_font].used_chars = ttf_font_used(font_id); - break; -#endif /* HAVE_TTF_FORMATS */ - case PK: - dev_font[this_font].font_resource = pk_font_resource (font_id); - dev_font[this_font].used_chars = pk_font_used(font_id); - break; - default: - ERROR ("Impossible font format in dev_locate_font()"); - } - num_phys_fonts += 1; - } else { /* No appropriate physical font exists */ - this_font = -1; /* A flag indicating no physical font */ - } - } else { /* A previously existing physical font can be used; - however, this routine must return a distinct ID if the - ptsizes are different. Copy the information from the - previous record to the new record */ - strcpy (dev_font[this_font].short_name, dev_font[i].short_name); - dev_font[this_font].tex_name = NEW (strlen (tex_name)+1, char); - strcpy (dev_font[this_font].tex_name, tex_name); - dev_font[this_font].sptsize = ptsize; - dev_font[this_font].format = dev_font[i].format; - dev_font[this_font].used_chars = dev_font[i].used_chars; - dev_font[this_font].slant = dev_font[i].slant; - dev_font[this_font].extend = dev_font[i].extend; - dev_font[this_font].remap = dev_font[i].remap; - /* The value in useD_on_this_page will be incorrect if the font - has already been used on a page in a different point size. - It's too hard to do right. The only negative consequence is - that there will be an attempt to add the resource to the page - resource dict. However, the second attempt will do nothing */ - dev_font[this_font].used_on_this_page = 0; - dev_font[this_font].font_resource = pdf_link_obj(dev_font[i].font_resource); - /* These two fonts are treated as having the same physical - "used_chars" */ - dev_font[this_font].used_chars = dev_font[i].used_chars; - } - if (this_font >= 0) - num_dev_fonts += 1; - return this_font; -} - -void dev_close_all_fonts(void) -{ - int i; - for (i=0; i<num_dev_fonts; i++) { - pdf_release_obj (dev_font[i].font_resource); - RELEASE (dev_font[i].tex_name); - } - if (dev_font) - RELEASE (dev_font); - - /* Release all map entries */ - for (i=0; i<num_font_map; i++) { - release_map_record (font_map+i); - } - - if (font_map) - RELEASE (font_map); - /* Close the various font handlers */ - type1_close_all(); - pk_close_all(); -#ifdef HAVE_TTF_FORMATS - ttf_close_all(); -#endif - - /* Now do encodings. */ - encoding_flush_all(); -} - -void dev_rule (spt_t xpos, spt_t ypos, spt_t width, spt_t height) -{ - int len = 0; - long w, p1, p2, p3, p4; - graphics_mode(); - /* Is using a real stroke the right thing to do? It seems to preserve - the logical meaning of a "rule" as opposed to a filled rectangle. - I am assume the reader can more intelligently render a rule than a filled rectangle */ - if (width> height) { /* Horizontal stroke? */ - w = IDIVRND(height, CENTI_PDF_U); - p1 = IDIVRND(xpos, CENTI_PDF_U); - p2 = IDIVRND (2*ypos+height, 2*CENTI_PDF_U); - p3 = IDIVRND(xpos+width,CENTI_PDF_U); - p4 = IDIVRND (2*ypos+height, 2*CENTI_PDF_U); - } else { /* Vertical stroke */ - w = IDIVRND(width,CENTI_PDF_U); - p1 = IDIVRND (2*xpos+width, 2*CENTI_PDF_U); - p2 = IDIVRND(ypos, CENTI_PDF_U); - p3 = IDIVRND (2*xpos+width, 2*CENTI_PDF_U); - p4 = IDIVRND(ypos+height,CENTI_PDF_U); - } - /* This needs to be quick */ - { - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, w); - format_buffer[len++] = ' '; - format_buffer[len++] = 'w'; - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, p1); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, p2); - format_buffer[len++] = ' '; - format_buffer[len++] = 'm'; - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, p3); - format_buffer[len++] = ' '; - len += centi_u_to_a (format_buffer+len, p4); - format_buffer[len++] = ' '; - format_buffer[len++] = 'l'; - format_buffer[len++] = ' '; - format_buffer[len++] = 'S'; - } - pdf_doc_add_to_page (format_buffer, len); -} - -/* The following routines tell the coordinates in true Adobe points - with the coordinate system having its origin at the bottom - left of the page. */ - -double dev_phys_x (void) -{ - return dvi_dev_xpos()*dvi_tell_mag() + hoffset; -} - -double dev_phys_y (void) -{ - return dev_page_height() + dvi_tell_mag()*dvi_dev_ypos() -voffset; -} - -static int src_special (char *buffer, UNSIGNED_QUAD size) { - char *start = buffer; - char *end = buffer + size; - int result = 0; - skip_white (&start, end); - if ((start+3 < end) && - (!strncmp ("src:", start, 4))) - result = 1; - return result; -} - -void dev_do_special (void *buffer, UNSIGNED_QUAD size, spt_t x_user, - spt_t y_user) -{ - double dev_xuser, dev_yuser; - dev_xuser = ((double) x_user) / ((double) PDF_U); - dev_yuser = ((double) -y_user) / ((double) PDF_U); - graphics_mode(); - if (!pdf_parse_special (buffer, size, dev_xuser, dev_yuser) && - !tpic_parse_special (buffer, size, dev_xuser, dev_yuser) && - !htex_parse_special (buffer, size) && - !color_special (buffer, size) && - !ps_parse_special (buffer, size, dev_xuser, dev_yuser) && - !src_special (buffer, size)) { - fprintf (stderr, "\nUnrecognized special ignored"); - dump (buffer, ((char *)buffer)+size); - } -} - -static unsigned dvi_stack_depth = 0; -static int dvi_tagged_depth = -1; -static unsigned char link_annot = 1; - -void dev_link_annot (unsigned char flag) -{ - link_annot = flag; -} - -void dev_stack_depth (unsigned int depth) -{ - /* If decreasing below tagged_depth */ - if (link_annot && - dvi_stack_depth == dvi_tagged_depth && - depth == dvi_tagged_depth - 1) { - /* See if this appears to be the end of a "logical unit" - that's been broken. If so, flush the logical unit */ - pdf_doc_flush_annot(); - } - dvi_stack_depth = depth; - return; -} - -/* The following routines setup and tear down a callback at - a certain stack depth. This is used to handle broken (linewise) - links */ - -void dev_tag_depth (void) -{ - dvi_tagged_depth = dvi_stack_depth; - dvi_compute_boxes (1); - return; -} - -void dev_untag_depth (void) -{ - dvi_tagged_depth = -1; - dvi_compute_boxes (0); - return; -} - -void dev_expand_box (spt_t width, spt_t height, spt_t depth) -{ - double phys_width, phys_height, phys_depth, scale; - if (link_annot && dvi_stack_depth >= dvi_tagged_depth) { - scale = dvi2pts*dvi_tell_mag(); - phys_width = scale*width; - phys_height = scale*height; - phys_depth = scale*depth; - pdf_doc_expand_box (dev_phys_x(), dev_phys_y()-phys_depth, - dev_phys_x()+phys_width, - dev_phys_y()+phys_height); - } -} - - - - - - - - - - - - - diff --git a/Build/source/texk/dvipdfm/pdfdev.h b/Build/source/texk/dvipdfm/pdfdev.h deleted file mode 100644 index 050584ad4d3..00000000000 --- a/Build/source/texk/dvipdfm/pdfdev.h +++ /dev/null @@ -1,91 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PDFDEV_H -#define PDFDEV_H - -#include "numbers.h" -#include "pdfobj.h" - -typedef signed long spt_t; - -extern void dev_init(double scale, double x_offset, double y_offset); -extern void dev_set_verbose (void); -extern double pdf_dev_scale (void); -extern void dev_close (void); -extern void dev_read_mapfile (char *filename); -extern int dev_locate_font (const char *name, spt_t ptsize); -extern int dev_font_tfm (int dev_font_id); -extern spt_t dev_font_sptsize (int dev_font_id); -extern void dev_close_all_fonts (void); -extern void dev_bop (void); -extern void dev_eop (void); -extern void dev_reselect_font (void); -extern void dev_set_string (spt_t xpos, spt_t ypos, unsigned char *ch, - int len, spt_t width, int font_id); -extern void dev_set_page_size (double width, double height); -extern void dev_rule (spt_t xpos, spt_t ypos, spt_t width, spt_t height); -extern double dev_phys_x (void); -extern double dev_phys_y (void); -extern void dev_begin_rgb_color (double r, double g, double b); -extern void dev_set_def_rgb_color (double r, double g, double b); -extern void dev_begin_cmyk_color (double c, double m, double y, double k); -extern void dev_set_def_cmyk_color (double c, double m, double y, double k); -extern void dev_begin_gray (double value); -extern void dev_set_def_gray (double value); -extern void dev_begin_named_color (char *s); -extern void dev_set_def_named_color (char *s); -extern void dev_end_color (void); -extern void dev_do_color(void); -extern void dev_bg_rgb_color (double r, double g, double b); -extern void dev_bg_cmyk_color (double c, double m, double y, double k); -extern void dev_bg_gray (double value); -extern void dev_bg_named_color (char *s); -extern void dev_begin_xform (double xscale, double yscale, double - rotate, double x_user, double y_user); -extern void dev_end_xform (void); -extern int dev_xform_depth (void); -extern void dev_close_all_xforms (int depth); - -extern void dev_add_comment (char *comment); -extern void dev_do_special (void *buffer, UNSIGNED_QUAD size, - spt_t x_user, spt_t y_user); -extern double dev_page_height(void); -extern double dev_page_width(void); -/* graphics_mode() would normally be local, but it is needed by the - MetaPost inclusion routine */ -extern void graphics_mode (void); -extern void dev_stack_depth (unsigned int depth); -extern void dev_tag_depth (void); -extern void dev_set_box (void); -extern void dev_untag_depth (void); -extern void dev_expand_box (spt_t width, spt_t height, spt_t depth); -extern void dev_link_annot (unsigned char flag); -#endif /* PDFDEV_H */ - - - - - diff --git a/Build/source/texk/dvipdfm/pdfdoc.c b/Build/source/texk/dvipdfm/pdfdoc.c deleted file mode 100644 index 67810a2084e..00000000000 --- a/Build/source/texk/dvipdfm/pdfdoc.c +++ /dev/null @@ -1,1296 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include "system.h" -#include "config.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "pdflimits.h" -#include "pdfobj.h" -#include "pdfdev.h" -#include "pdfdoc.h" -#include "pdfspecial.h" - -#ifdef HAVE_LIBPNG -#include "thumbnail.h" -#endif - -static pdf_obj *catalog = NULL; -static pdf_obj *docinfo = NULL; -static pdf_obj *page_tree = NULL, *page_tree_ref = NULL; - -int outline_depth=0; -static struct -{ - int kid_count; - pdf_obj *entry; -} outline[MAX_OUTLINE_DEPTH]; - - -static pdf_obj *current_page_resources = NULL; -static pdf_obj *this_page_contents = NULL; -static pdf_obj *glob_page_bop, *glob_page_eop; -static pdf_obj *coord_xform_stream = NULL, *coord_xform_ref = NULL; -static pdf_obj *this_page_bop = NULL; -static pdf_obj *this_page_beads = NULL; -static pdf_obj *this_page_annots = NULL; -static pdf_obj *this_page_xobjects = NULL, *this_page_fonts = NULL; -static pdf_obj *tmp1; - -static unsigned long page_count = 0; -static struct pages { - pdf_obj *page_dict; - pdf_obj *page_ref; -} *pages = NULL; -static unsigned long max_pages = 0; - -static void start_page_tree (void); -static void create_catalog (void); -static void start_current_page_resources (void); -static void finish_page_tree(void); -static void start_name_tree(void); -static void finish_dests_tree(void); -static void finish_pending_xobjects(void); -static void start_articles(void); - -static unsigned char verbose = 0, debug=0; - -void pdf_doc_set_verbose(void) -{ - if (verbose < 255) - verbose += 1; -} - -void pdf_doc_set_debug(void) -{ - debug = 1; -} - -static void resize_pages (unsigned long newsize) -{ - unsigned long i; - if (newsize > max_pages) { - pages = RENEW (pages, newsize, struct pages); - for (i=max_pages; i<newsize; i++) { - pages[i].page_dict = NULL; - pages[i].page_ref = NULL; - } - max_pages = newsize; - } -} - -static pdf_obj *type_name, *page_name, *pages_name, *contents_name, *annots_name, - *resources_name, *bead_name, *count_name, *kids_name, *parent_name, - *mediabox_name, *limits_name, *thumb_name; - -static void make_short_cuts(void) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - /* Define some shorthand for names that will conserve memory (and time) - (similar to the latex \@ne trick */ - type_name = pdf_new_name("Type"); - page_name = pdf_new_name("Page"); - pages_name = pdf_new_name("Pages"); - count_name = pdf_new_name("Count"); - kids_name = pdf_new_name("Kids"); - parent_name = pdf_new_name("Parent"); - contents_name = pdf_new_name("Contents"); - annots_name = pdf_new_name("Annots"); - resources_name = pdf_new_name ("Resources"); - bead_name = pdf_new_name ("B"); - mediabox_name = pdf_new_name ("MediaBox"); - limits_name = pdf_new_name ("Limits"); - thumb_name = pdf_new_name ("Thumb"); -#ifdef MEM_DEBUG -MEM_END -#endif -} -static void release_short_cuts(void) -{ - /* Release those shorthand name we created */ - pdf_release_obj (type_name); - pdf_release_obj (page_name); - pdf_release_obj (pages_name); - pdf_release_obj (count_name); - pdf_release_obj (kids_name); - pdf_release_obj (parent_name); - pdf_release_obj (contents_name); - pdf_release_obj (annots_name); - pdf_release_obj (resources_name); - pdf_release_obj (bead_name); - pdf_release_obj (mediabox_name); - pdf_release_obj (limits_name); - pdf_release_obj (thumb_name); -} - -static void start_page_tree (void) -{ - if (debug) { - fprintf (stderr, "(start_page_tree)"); - } - /* Create empty page tree */ - page_tree = pdf_new_dict(); - page_tree_ref = pdf_ref_obj (page_tree); - /* Both page_tree and page_tree_ref are kept open until the - document is closed. This allows the user to write to page_tree - if he so choses. */ - /* Link /Pages into the catalog - and poing it to indirect reference since we - haven't built the tree yet */ - glob_page_bop = pdf_new_stream(0); - glob_page_eop = pdf_new_stream(0); - coord_xform_stream = pdf_new_stream(0); - coord_xform_ref = pdf_ref_obj (coord_xform_stream); - return; -} - -void pdf_doc_bop (char *string, unsigned length) -{ - if (length > 0) - pdf_add_stream (glob_page_bop, string, length); -} - -void pdf_doc_this_bop (char *string, unsigned length) -{ - if (this_page_bop == NULL) - this_page_bop = pdf_new_stream (STREAM_COMPRESS); - if (length > 0) - pdf_add_stream (this_page_bop, string, length); -} - -void pdf_doc_set_origin (double x, double y) -{ - int len; - static char first = 1; - if (first) { - sprintf (work_buffer, "%g 0 0 %g %g %g cm\n", - dvi_tell_mag()*pdf_dev_scale(), dvi_tell_mag()*pdf_dev_scale(), - x, y); - len = strlen (work_buffer); - pdf_add_stream (coord_xform_stream, work_buffer, len); - first = 0; - } -} - - -void pdf_doc_eop (char *string, unsigned length) -{ - if (length > 0) - pdf_add_stream (glob_page_eop, string, length); -} - -static void start_outline_tree (void) -{ - if (debug) { - fprintf (stderr, "(start_outline_tree)"); - } - /* Create empty outline tree */ - outline[outline_depth].entry = pdf_new_dict(); - outline[outline_depth].kid_count = 0; - return; -} - -static pdf_obj *names_dict; - -static void start_name_tree (void) -{ - if (debug) { - fprintf (stderr, "(start_name_tree)"); - } - names_dict = pdf_new_dict (); -} - -static char *asn_date (void) -{ - long tz_offset; - static char date_string[24]; - time_t current_time; - struct tm *bd_time; - if (debug) { - fprintf (stderr, "(asn_date)"); - } - time(¤t_time); - bd_time = localtime(¤t_time); - -#ifdef HAVE_TM_GMTOFF /* Preferred way to get time zone offset */ - tz_offset = bd_time->tm_gmtoff; -#else -#ifdef HAVE_TIMEZONE /* Plan B --- use external variable 'timezone' - /* (may not provide correct offset for daylight savings time) */ - tz_offset = - timezone; -#else /* Last resort --- without more information, set offset to zero */ - tz_offset = 0l; -#endif /* HAVE_TIMEZONE */ -#endif /* HAVE_TM_GMTOFF */ - - if (tz_offset == 0l) { - sprintf (date_string, "D:%04d%02d%02d%02d%02d%02dZ00'00'", - bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday, - bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec); - } else { - sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%c%02ld'%02ld'", - bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday, - bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec, - (tz_offset>0)? '+':'-', labs(tz_offset)/3600, (labs(tz_offset)/60)%60); - } - return date_string; -} - -#define BANNER "dvipdfm %s, Copyright \251 1998, by Mark A. Wicks" -static void create_docinfo (void) -{ - /* Create an empty Info entry and make it - be the root object */ - if (debug) { - fprintf (stderr, "(create_docinfo)"); - } - docinfo = pdf_new_dict (); - pdf_set_info (docinfo); - return; -} - -static void finish_docinfo(void) -{ - char *time_string, *banner; - banner = NEW (strlen(BANNER)+20,char); - sprintf(banner, BANNER, VERSION); - pdf_add_dict (docinfo, - pdf_new_name ("Producer"), - pdf_new_string (banner, strlen (banner))); - RELEASE (banner); - time_string = asn_date(); - pdf_add_dict (docinfo, - pdf_new_name ("CreationDate"), - pdf_new_string (time_string, strlen (time_string))); - pdf_release_obj (docinfo); - return; -} - -void pdf_doc_merge_with_docinfo (pdf_obj *dictionary) -{ - pdf_merge_dict (docinfo, dictionary); -} - -void pdf_doc_merge_with_catalog (pdf_obj *dictionary) -{ - pdf_merge_dict (catalog, dictionary); -} - -static void create_catalog (void) -{ - if (debug) { - fprintf (stderr, "(create_catalog)"); - } - catalog = pdf_new_dict (); - pdf_set_root (catalog); - /* Create /Type attribute */ - pdf_add_dict (catalog, - pdf_link_obj (type_name), - pdf_new_name("Catalog")); - /* Create only those parts of the page tree required for the catalog. - That way, the rest of the page tree can be finished at any time */ - start_page_tree(); - /* Likewise for outline tree */ - start_outline_tree (); - start_name_tree(); - start_articles(); - return; -} - -static void start_current_page_resources (void) -{ - /* work on resources to put in Pages */ - if (debug) { - fprintf (stderr, "(start_current_page_resources)"); - } - current_page_resources = pdf_new_dict (); - tmp1 = pdf_new_array (); - pdf_add_array (tmp1, pdf_new_name ("PDF")); - pdf_add_array (tmp1, pdf_new_name ("Text")); - pdf_add_array (tmp1, pdf_new_name ("ImageC")); - pdf_add_dict (current_page_resources, - pdf_new_name ("ProcSet"), - tmp1); - return; -} - -void pdf_doc_add_to_page_fonts (const char *name, pdf_obj - *resource) -{ -#ifdef MEM_DEBUG - MEM_START; -#endif - - if (debug) { - fprintf (stderr, "(pdf_doc_add_to_page_fonts)"); - } - if (this_page_fonts == NULL) - this_page_fonts = pdf_new_dict(); - pdf_add_dict (this_page_fonts, - pdf_new_name (name), resource); -#ifdef MEM_DEBUG -MEM_END -#endif -} - -void pdf_doc_add_to_page_xobjects (const char *name, pdf_obj - *resource) -{ - if (debug) { - fprintf (stderr, "(pdf_doc_add_to_page_xojects)"); - } - if (this_page_xobjects == NULL) - this_page_xobjects = pdf_new_dict (); - pdf_add_dict (this_page_xobjects, - pdf_new_name (name), - resource); -} - - -void pdf_doc_add_to_page_resources (const char *name, pdf_obj *resource) -{ - if (debug) { - fprintf (stderr, "(pdf_doc_add_to_page_resources)"); - } - pdf_add_dict (current_page_resources, - pdf_new_name (name), - resource); -} - -void pdf_doc_add_to_page_annots (pdf_obj *annot) -{ - if (debug) { - fprintf (stderr, "(pdf_doc_add_to_page_annots)"); - } - if (this_page_annots == NULL) - this_page_annots = pdf_new_array (); - pdf_add_array (this_page_annots, - annot); -} - -static pdf_obj *page_subtree (struct pages *pages, unsigned long npages, - pdf_obj *parent_ref) -{ -#define PAGE_CLUSTER 4 - pdf_obj *self, *self_ref, *kid_array; - self = pdf_new_dict(); - /* This is a slight kludge which allow the subtree - dictionary generated by this routine to be merged with the - real page_tree dictionary, while keeping the indirect - object references right */ - if (parent_ref == NULL) - self_ref = pdf_ref_obj (page_tree); - else - self_ref = pdf_ref_obj (self); - pdf_add_dict (self, pdf_link_obj (type_name), - pdf_link_obj (pages_name)); - pdf_add_dict (self, pdf_link_obj (count_name), - pdf_new_number((double) npages)); - kid_array = pdf_new_array(); - pdf_add_dict (self, pdf_link_obj (kids_name), - kid_array); - if (parent_ref != NULL) { - pdf_add_dict (self, pdf_link_obj(parent_name), - parent_ref); - } - if (npages > 0 && npages <= PAGE_CLUSTER) { - int i; - for (i=0; i<npages; i++) { - pdf_add_array (kid_array, pdf_link_obj(pages[i].page_ref)); - pdf_add_dict (pages[i].page_dict, pdf_link_obj (parent_name), - pdf_link_obj(self_ref)); - pdf_release_obj (pages[i].page_dict); - pdf_release_obj (pages[i].page_ref); - pages[i].page_dict = NULL; - pages[i].page_ref = NULL; - } - } else if (npages > 0) { - int i; - for (i=0; i<PAGE_CLUSTER; i++) { - pdf_obj *subtree; - unsigned long start, end; - start = (i*npages)/PAGE_CLUSTER; - end = ((i+1)*npages)/PAGE_CLUSTER; - if (end-start>1) { - subtree = page_subtree (pages+start, end-start, pdf_link_obj(self_ref)); - pdf_add_array (kid_array, pdf_ref_obj (subtree)); - pdf_release_obj (subtree); - } - else { - pdf_add_array (kid_array, pdf_link_obj(pages[start].page_ref)); - pdf_add_dict (pages[start].page_dict, pdf_link_obj(parent_name), - pdf_link_obj (self_ref)); - pdf_release_obj (pages[start].page_dict); - pdf_release_obj (pages[start].page_ref); - pages[start].page_dict = NULL; - pages[start].page_ref = NULL; - } - } - } - pdf_release_obj (self_ref); - return self; -} - -static void finish_page_tree(void) -{ - pdf_obj *subtree; - if (debug) { - fprintf (stderr, "(finish_page_tree)"); - } - - subtree = page_subtree (pages, page_count, NULL); - pdf_merge_dict (page_tree, subtree); - pdf_release_obj (subtree); - /* Generate media box at root of page tree and let the - other pages inherit it */ - { - tmp1 = pdf_new_array (); - pdf_add_array (tmp1, pdf_new_number (0)); - pdf_add_array (tmp1, pdf_new_number (0)); - pdf_add_array (tmp1, pdf_new_number (ROUND(dev_page_width(),1.0))); - pdf_add_array (tmp1, pdf_new_number (ROUND(dev_page_height(),1.0))); - pdf_add_dict (page_tree, pdf_link_obj (mediabox_name), tmp1); - } - pdf_release_obj (page_tree); - pdf_add_dict (catalog, - pdf_link_obj (pages_name), - pdf_link_obj (page_tree_ref)); - pdf_release_obj (page_tree_ref); - RELEASE (pages); - pdf_add_stream (glob_page_bop, "\n", 1); - pdf_release_obj (glob_page_bop); - pdf_add_stream (glob_page_eop, "\n", 1); - pdf_release_obj (glob_page_eop); - pdf_release_obj (coord_xform_stream); - pdf_release_obj (coord_xform_ref); - return; -} - -void pdf_doc_change_outline_depth(int new_depth) -{ - int i; - if (debug) { - fprintf (stderr, "(change_outline_depth)"); - } - if (outline_depth >= MAX_OUTLINE_DEPTH -1) - ERROR ("Outline is too deep."); - if (new_depth == outline_depth) - /* Nothing to do */ - return; - if (new_depth > outline_depth+1) - ERROR ("Can't increase outline depth by more than one at a time\n"); - if (outline[outline_depth].entry == NULL) - ERROR ("change_outline_depth: Fix me, I'm broke. This shouldn't happen!"); - /* Terminate all entries above this depth */ - for (i=outline_depth-1; i>=new_depth; i--) { - pdf_add_dict (outline[i].entry, - pdf_new_name ("Last"), - pdf_ref_obj (outline[i+1].entry)); - if (i > 0) - tmp1 = pdf_new_number (-outline[i].kid_count); - else - tmp1 = pdf_new_number (outline[i].kid_count); - - pdf_add_dict (outline[i].entry, - pdf_link_obj (count_name), - tmp1); - } - /* Flush out all entries above this depth */ - for (i=new_depth+1; i<=outline_depth; i++) { - pdf_release_obj (outline[i].entry); - outline[i].entry = NULL; - outline[i].kid_count = 0; - } - outline_depth = new_depth; -} - -static void finish_outline(void) -{ - if (debug) - fprintf (stderr, "(finish_outline)"); - /* Link it into the catalog */ - /* Point /Outline attribute to indirect reference */ - pdf_doc_change_outline_depth (0); - pdf_add_dict (catalog, - pdf_new_name ("Outlines"), - pdf_ref_obj(outline[outline_depth].entry)); - pdf_release_obj (outline[0].entry); - outline[0].entry = NULL; -} - - -void pdf_doc_add_outline (pdf_obj *dict) -{ - pdf_obj *new_entry; - if (outline_depth < 1) - ERROR ("Can't add to outline at depth < 1"); - new_entry = pdf_new_dict (); - pdf_merge_dict (new_entry, dict); - /* Caller doesn't know we don't actually use the dictionary, - so he *gave* dict to us. We have to free it */ - pdf_release_obj (dict); - /* Tell it where its parent is */ - pdf_add_dict (new_entry, - pdf_link_obj (parent_name), - pdf_ref_obj (outline[outline_depth-1].entry)); - /* Give mom and dad the good news */ - outline[outline_depth-1].kid_count += 1; - - /* Is this the first entry at this depth? */ - if (outline[outline_depth].entry == NULL) { - /* Is so, tell the parent we are first born */ - pdf_add_dict (outline[outline_depth-1].entry, - pdf_new_name ("First"), - pdf_ref_obj (new_entry)); - } - else { - /* Point us back to sister */ - pdf_add_dict (new_entry, - pdf_new_name ("Prev"), - pdf_ref_obj (outline[outline_depth].entry)); - /* Point our elder sister toward us */ - pdf_add_dict (outline[outline_depth].entry, - pdf_new_name ("Next"), - pdf_ref_obj (new_entry)); - /* Bye-Bye sis */ - pdf_release_obj (outline[outline_depth].entry); - } - outline[outline_depth].entry = new_entry; - /* Just born, so don't have any kids */ - outline[outline_depth].kid_count = 0; -} - -struct dests -{ - char *name; - unsigned length; - pdf_obj *array; -}; -typedef struct dests dest_entry; -static dest_entry *dests = NULL; -unsigned long max_dests = 0; - -static int CDECL cmp_dest (const void *d1, const void *d2) -{ - unsigned length; - int tmp; - length = MIN (((dest_entry *) d1) -> length, ((dest_entry *) d2) -> - length); - if ((tmp = memcmp (((dest_entry *) d1) -> name, ((dest_entry *) d2) - -> name, length)) != 0) - return tmp; - if (((dest_entry *) d1) -> length == ((dest_entry *) d2) -> length) - return 0; - return (((dest_entry *) d1) -> length < ((dest_entry *) d2) -> length ? -1 : 1 ); -} - -static pdf_obj *name_subtree (dest_entry *dests, unsigned long ndests) -{ -#define CLUSTER 4 - pdf_obj *result, *name_array, *limit_array, *kid_array; - result = pdf_new_dict(); - limit_array = pdf_new_array(); - pdf_add_dict (result, pdf_link_obj(limits_name), limit_array); - pdf_add_array (limit_array, pdf_new_string(dests[0].name, - dests[0].length)); - pdf_add_array (limit_array, pdf_new_string(dests[ndests-1].name, - dests[ndests-1].length)); - if (ndests > 0 && ndests <= CLUSTER) { - int i; - name_array = pdf_new_array(); - pdf_add_dict (result, pdf_new_name ("Names"), - name_array); - for (i=0; i<ndests; i++) { - pdf_add_array (name_array, pdf_new_string (dests[i].name, - dests[i].length)); - RELEASE (dests[i].name); - pdf_add_array (name_array, dests[i].array); - } - } else if (ndests > 0) { - int i; - kid_array = pdf_new_array(); - pdf_add_dict (result, pdf_link_obj (kids_name), kid_array); - for (i=0; i<CLUSTER; i++) { - pdf_obj *subtree; - unsigned long start, end; - start = (i*ndests)/CLUSTER; - end = ((i+1)*ndests)/CLUSTER; - subtree = name_subtree (dests+start, end-start); - pdf_add_array (kid_array, pdf_ref_obj (subtree)); - pdf_release_obj (subtree); - } - } - return result; -} - -static unsigned long number_dests = 0; - -static void finish_dests_tree (void) -{ - pdf_obj *kid; - if (number_dests > 0) { - /* Sort before writing any /Dests entries */ - qsort(dests, number_dests, sizeof(dests[0]), cmp_dest); - kid = name_subtree (dests, number_dests); - /* Each entry in dests has been assigned to another object, so - we can free the entire array without freeing the entries. */ - RELEASE (dests); - pdf_add_dict (names_dict, - pdf_new_name ("Dests"), - pdf_ref_obj (kid)); - pdf_release_obj (kid); - } -} - -void pdf_doc_add_dest (char *name, unsigned length, pdf_obj *array_ref) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (number_dests >= max_dests) { - max_dests += DESTS_ALLOC_SIZE; - dests = RENEW (dests, max_dests, dest_entry); - } - dests[number_dests].name = NEW (length, char); - memcpy (dests[number_dests].name, name, length); - dests[number_dests].length = length; - dests[number_dests].array = array_ref; - number_dests++; -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} - -struct articles -{ - char *name; - pdf_obj *info; - pdf_obj *first; - pdf_obj *last; - pdf_obj *this; -}; - -typedef struct articles article_entry; -static article_entry articles[MAX_ARTICLES]; -static unsigned long number_articles = 0; - -static pdf_obj *articles_array; -static void start_articles (void) -{ - articles_array = pdf_new_array(); -} - -void pdf_doc_start_article (char *name, pdf_obj *info) -{ - if (number_articles >= MAX_ARTICLES) { - ERROR ("pdf_doc_add_article: Too many articles\n"); - } - if (name == NULL || strlen (name) == 0) - ERROR ("pdf_doc_start_article called null name"); - articles[number_articles].name = NEW (strlen(name)+1, char); - strcpy (articles[number_articles].name, name); - articles[number_articles].info = info; - articles[number_articles].first = NULL; - articles[number_articles].last = NULL; - /* Start dictionary for this article even though we can't finish it - until we get the first bead */ - articles[number_articles].this = pdf_new_dict(); - number_articles++; - return; -} - -void pdf_doc_add_bead (char *article_name, pdf_obj *partial_dict) -{ - /* partial_dict should have P (Page) and R (Rect) already filled in */ - /* See if the specified article exists */ - int i; - for (i=0; i<number_articles; i++) { - if (!strcmp (articles[i].name, article_name)) - break; - } - if (i == number_articles) { - fprintf (stderr, "Bead specified thread that doesn't exist\n"); - return; - } - /* Is this the first bead? */ - if (articles[i].last == NULL) { - articles[i].first = pdf_link_obj (partial_dict); - /* Add pointer to its first object */ - pdf_add_dict (articles[i].this, - pdf_new_name ("F"), - pdf_ref_obj (articles[i].first)); - /* Next add pointer to its Info dictionary */ - pdf_add_dict (articles[i].this, - pdf_new_name ("I"), - pdf_ref_obj (articles[i].info)); - /* Point first bead to parent article */ - pdf_add_dict (partial_dict, - pdf_new_name ("T"), - pdf_ref_obj (articles[i].this)); - /* Ship it out and forget it */ - pdf_add_array (articles_array, pdf_ref_obj (articles[i].this)); - pdf_release_obj (articles[i].this); - articles[i].this = NULL; - } else { - /* Link it in... */ - /* Point last object to this one */ - pdf_add_dict (articles[i].last, - pdf_new_name ("N"), - pdf_ref_obj (partial_dict)); - /* Point this one to last */ - pdf_add_dict (partial_dict, - pdf_new_name ("V"), - pdf_ref_obj (articles[i].last)); - pdf_release_obj (articles[i].last); - } - articles[i].last = partial_dict; - if (this_page_beads == NULL) - this_page_beads = pdf_new_array(); - pdf_add_array (this_page_beads, - pdf_ref_obj (partial_dict)); -} - -void finish_articles(void) -{ - int i; - pdf_add_dict (catalog, - pdf_new_name ("Threads"), - pdf_ref_obj (articles_array)); - pdf_release_obj (articles_array); - for (i=0; i<number_articles; i++) { - if (articles[i].last == NULL) { - fprintf (stderr, "Article started, but no beads\n"); - break; - } - /* Close the loop */ - pdf_add_dict (articles[i].last, - pdf_new_name ("N"), - pdf_ref_obj (articles[i].first)); - pdf_add_dict (articles[i].first, - pdf_new_name ("V"), - pdf_ref_obj (articles[i].last)); - pdf_release_obj (articles[i].first); - pdf_release_obj (articles[i].last); - pdf_release_obj (articles[i].info); - RELEASE (articles[i].name); - } -} - -#ifdef HAVE_LIBPNG -static char thumbnail_opt = 0; -static char *thumb_basename = NULL; - -void pdf_doc_enable_thumbnails(void) -{ - thumbnail_opt = 1; -} - -#endif - -void pdf_doc_finish_page () -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (debug) { - fprintf (stderr, "(pdf_doc_finish_page)"); - } - finish_pending_xobjects(); - /* Flush this page */ - /* Page_count is the index of the current page, starting at 1 */ - tmp1 = pdf_new_array (); - pdf_add_array (tmp1, pdf_ref_obj (glob_page_bop)); - if (this_page_bop) { - pdf_add_array (tmp1, pdf_ref_obj (this_page_bop)); - } - pdf_add_array (tmp1, pdf_link_obj (coord_xform_ref)); - pdf_add_array (tmp1, pdf_ref_obj (this_page_contents)); - pdf_add_array (tmp1, pdf_ref_obj (glob_page_eop)); - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj(contents_name), tmp1); - /* We keep .page_dict open because we don't know the parent yet */ - if (this_page_bop != NULL) { - pdf_add_stream (this_page_bop, "\n", 1); - pdf_release_obj (this_page_bop); - this_page_bop = NULL; - } - if (this_page_contents != NULL) { - pdf_add_stream (this_page_contents, "\n", 1); - pdf_release_obj (this_page_contents); - this_page_contents = NULL; - } - if (this_page_annots != NULL) { - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj(annots_name), - pdf_ref_obj (this_page_annots)); - pdf_release_obj (this_page_annots); - this_page_annots = NULL; - } - if (this_page_beads != NULL) { - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj (bead_name), - pdf_ref_obj (this_page_beads)); - pdf_release_obj (this_page_beads); - this_page_beads = NULL; - } - if (this_page_fonts != NULL) { - pdf_add_dict (current_page_resources, - pdf_new_name ("Font"), - pdf_ref_obj (this_page_fonts)); - pdf_release_obj (this_page_fonts); - this_page_fonts = NULL; - } - if (this_page_xobjects != NULL) { - pdf_add_dict (current_page_resources, - pdf_new_name ("XObject"), - pdf_ref_obj (this_page_xobjects)); - pdf_release_obj (this_page_xobjects); - this_page_xobjects = NULL; - } - if (current_page_resources != NULL) { - pdf_release_obj (current_page_resources); - current_page_resources = NULL; - } -#ifdef HAVE_LIBPNG - if (thumbnail_opt) { - char *thumb_filename; - pdf_obj *thumbnail; - thumb_filename = NEW (strlen(thumb_basename)+7, char); - sprintf (thumb_filename, "%s.%ld", thumb_basename, - page_count%99999+1L); - thumbnail = do_thumbnail (thumb_filename); - RELEASE (thumb_filename); - if (thumbnail) - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj (thumb_name), - thumbnail); - } -#endif - page_count += 1; -#ifdef MEM_DEBUG - MEM_END; -#endif -} - -pdf_obj *pdf_doc_current_page_resources (void) -{ - return current_page_resources; -} - - -static int highest_page_ref = 0; -pdf_obj *pdf_doc_ref_page (unsigned long page_no) -{ - if (debug) - fprintf (stderr, "(doc_ref_page:page_no=%ld)", page_no); - if (page_no >= max_pages) { - resize_pages (page_no+PAGES_ALLOC_SIZE); - } - /* Has this page been referenced yet? */ - if (pages[page_no-1].page_dict == NULL) { - /* If not, create it */ - pages[page_no-1].page_dict = pdf_new_dict (); - /* and reference it */ - pages[page_no-1].page_ref = pdf_ref_obj (pages[page_no-1].page_dict); - } - if (page_no > highest_page_ref) - highest_page_ref = page_no; - return pdf_link_obj (pages[page_no-1].page_ref); -} - -pdf_obj *pdf_doc_names (void) -{ - return names_dict; -} - -pdf_obj *pdf_doc_page_tree (void) -{ - return page_tree; -} - -pdf_obj *pdf_doc_catalog (void) -{ - return catalog; -} - -pdf_obj *pdf_doc_this_page (void) -{ - return pages[page_count].page_dict; -} - -pdf_obj *pdf_doc_this_page_ref (void) -{ - return pdf_doc_ref_page(page_count+1); -} - -pdf_obj *pdf_doc_prev_page_ref (void) -{ - if (page_count < 1) { - ERROR ("Reference to previous page, but no pages have been completed yet"); - } - return pdf_doc_ref_page(page_count>0?page_count:1); -} - -pdf_obj *pdf_doc_next_page_ref (void) -{ - return pdf_doc_ref_page(page_count+2); -} - -void pdf_doc_new_page (void) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (debug) { - fprintf (stderr, "(pdf_doc_new_page)"); - fprintf (stderr, "page_count=%ld, max_pages=%ld\n", page_count, - max_pages); - } - /* See if we need more pages allocated yet */ - if (page_count >= max_pages) { - resize_pages(max_pages+PAGES_ALLOC_SIZE); - } - /* Was this page already instantiated by a forward reference to it? */ - if (pages[page_count].page_ref == NULL) { - /* If not, create it. */ - pages[page_count].page_dict = pdf_new_dict (); - /* and reference it */ - pages[page_count].page_ref = pdf_ref_obj(pages[page_count].page_dict); - } - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj(type_name), pdf_link_obj(page_name)); - /* start the contents stream for the new page */ - this_page_contents = pdf_new_stream(STREAM_COMPRESS); - start_current_page_resources(); - pdf_add_dict (pages[page_count].page_dict, - pdf_link_obj (resources_name), - pdf_ref_obj (current_page_resources)); - /* Contents are still available as this_page_contents until next - page is started */ - /* Even though the page is gone, a Reference to this page is kept - until program ends */ -#ifdef MEM_DEBUG -MEM_END -#endif -} - -void pdf_doc_add_to_page (char *buffer, unsigned length) -{ - pdf_add_stream (this_page_contents, buffer, length); -} - -void pdf_doc_init (char *filename) -{ -#ifdef MEM_DEBUG - MEM_START -#endif - if (debug) fprintf (stderr, "pdf_doc_init:\n"); - pdf_out_init (filename); -#ifdef HAVE_LIBPNG - /* Create a default name for thumbnail image files */ - if (thumbnail_opt) { - if (strlen(filename)>4 && !strncmp (".pdf", filename+strlen(filename)-4,4)) { - thumb_basename = NEW (strlen(filename)+1-4, char); - strncpy (thumb_basename, filename, strlen(filename)-4); - thumb_basename[strlen(filename)-4] = 0; - } else { - thumb_basename = NEW (strlen(filename)+1, char); - strcpy (thumb_basename, filename); - } - } -#endif /* HAVE_LIBPNG */ - make_short_cuts(); - create_docinfo (); - create_catalog (); -#ifdef MEM_DEBUG - MEM_END -#endif -} - -void pdf_doc_creator (char *s) -{ - pdf_add_dict (docinfo, pdf_new_name ("Creator"), - pdf_new_string (s, strlen(s))); -} - -void pdf_doc_close () -{ - if (debug) fprintf (stderr, "pdf_doc_finish:\n"); -#ifdef HAVE_LIBPNG - if (thumb_basename) - RELEASE (thumb_basename); -#endif /* HAVE_LIBPNG */ - /* Following things were kept around so user can add dictionary - items */ - finish_docinfo(); - finish_page_tree(); - /* Add names dict to catalog */ - finish_outline(); - finish_dests_tree(); - finish_articles(); - pdf_add_dict (catalog, - pdf_new_name ("Names"), - pdf_ref_obj (names_dict)); - pdf_release_obj (names_dict); - pdf_release_obj (catalog); - /* Do consistency check on forward references to pages */ - if (highest_page_ref > page_count) { - unsigned long i; - fprintf (stderr, "\nWarning: Nonexistent page(s) referenced\n"); - fprintf (stderr, " (PDF file may not work right)\n"); - for (i=page_count; i<highest_page_ref; i++) { - if (pages[i].page_dict) { - pdf_release_obj (pages[i].page_dict); - pdf_release_obj (pages[i].page_ref); - } - } - } - pdf_finish_specials(); - release_short_cuts(); - pdf_out_flush (); -} - -static pdf_obj *build_scale_array (double a, double b, double c, - double d, double e, double f) -{ - pdf_obj *result; - result = pdf_new_array(); - pdf_add_array (result, pdf_new_number (a)); - pdf_add_array (result, pdf_new_number (b)); - pdf_add_array (result, pdf_new_number (c)); - pdf_add_array (result, pdf_new_number (d)); - pdf_add_array (result, pdf_new_number (ROUND(e,0.01))); - pdf_add_array (result, pdf_new_number (ROUND(f,0.01))); - return result; -} - -/* All this routine does is give the form a name - and add a unity scaling matrix. It fills - in required fields. The caller must initialize - the stream */ - - -void doc_make_form_xobj (pdf_obj *this_form_contents, pdf_obj *bbox, - double refptx, double refpty, - double xscale, double yscale, - pdf_obj *resources, char *form_name) -{ - pdf_obj *xobj_dict, *tmp1; - xobj_dict = pdf_stream_dict (this_form_contents); - - pdf_add_dict (xobj_dict, pdf_new_name ("Name"), pdf_new_name(form_name)); - pdf_add_dict (xobj_dict, pdf_link_obj (type_name), - pdf_new_name ("XObject")); - pdf_add_dict (xobj_dict, pdf_new_name ("Subtype"), - pdf_new_name ("Form")); - pdf_add_dict (xobj_dict, pdf_new_name ("BBox"), bbox); - pdf_add_dict (xobj_dict, pdf_new_name ("FormType"), - pdf_new_number(1.0)); - /* The reference point of an Xobject is at the lower left corner - of the bounding box. Since we would like to have an arbitrary - reference point, we use a transformation matrix, translating - the reference point to (0,0) */ - tmp1 = build_scale_array (xscale, 0, 0, yscale, -xscale*refptx, -yscale*refpty); - pdf_add_dict (xobj_dict, pdf_new_name ("Matrix"), tmp1); - pdf_add_dict (xobj_dict, pdf_link_obj (resources_name), resources); - return; -} - -struct resource_stack -{ - pdf_obj *save_page_contents, *save_page_fonts; - pdf_obj *save_page_xobjects, *save_page_resources; - int xform_depth; -} res_stack[4]; - -static int xobjects_pending = 0; - -/* begin_form_xobj creates an xobject with its "origin" at - xpos and ypos that is clipped to the specified bbox. Note - that the origin is not the lower left corner of the bbox */ -pdf_obj *begin_form_xobj (double xpos, double ypos, - double bbllx, double bblly, - double bburx, double bbury, char *res_name) -{ - pdf_obj *bbox; - if (xobjects_pending >= sizeof(res_stack)/sizeof(res_stack[0])) { - fprintf (stderr, "\nForm XObjects nested too deeply. Limit is %d\n", - sizeof(res_stack)/sizeof(res_stack[0])); - return NULL; - } - /* This is a real hack. We basically treat each xobj as a separate mini - page unto itself. Save all the page structures and reinitialize - them when we finish this xobject. */ - res_stack[xobjects_pending].save_page_resources = current_page_resources; - current_page_resources = NULL; - res_stack[xobjects_pending].save_page_xobjects = this_page_xobjects; - this_page_xobjects = NULL; - res_stack[xobjects_pending].save_page_fonts = this_page_fonts; - this_page_fonts = NULL; - res_stack[xobjects_pending].save_page_contents = this_page_contents; - this_page_contents = NULL; - res_stack[xobjects_pending].xform_depth = dev_xform_depth(); - xobjects_pending += 1; - start_current_page_resources(); /* Starts current_page_resources */ - this_page_contents = pdf_new_stream (STREAM_COMPRESS); - /* Make a bounding box for this Xobject */ - /* Translate coordinate system so reference point of object - is at 0 */ - bbox = pdf_new_array (); - pdf_add_array (bbox, pdf_new_number (ROUND(bbllx,0.01))); - pdf_add_array (bbox, pdf_new_number (ROUND(bblly,0.01))); - pdf_add_array (bbox, pdf_new_number (ROUND(bburx,0.01))); - pdf_add_array (bbox, pdf_new_number (ROUND(bbury,0.01))); - /* Resource is already made, so call doc_make_form_xobj() */ - doc_make_form_xobj (this_page_contents, bbox, - xpos, ypos, 1.0, 1.0, - pdf_ref_obj(current_page_resources), res_name); - /* Make sure the object is self-contained by adding the - current font to the object stream */ - dev_reselect_font(); - /* Likewise for color */ - dev_do_color(); - return pdf_link_obj (this_page_contents); -} - -void end_form_xobj (void) -{ - if (xobjects_pending>0) { - xobjects_pending -= 1; - dev_close_all_xforms(res_stack[xobjects_pending].xform_depth); - if (this_page_xobjects) { - pdf_add_dict (current_page_resources, pdf_new_name ("XObject"), - pdf_ref_obj (this_page_xobjects)); - pdf_release_obj (this_page_xobjects); - } - if (this_page_fonts) { - pdf_add_dict (current_page_resources, pdf_new_name ("Font"), - pdf_ref_obj (this_page_fonts)); - pdf_release_obj (this_page_fonts); - } - if (current_page_resources) - pdf_release_obj (current_page_resources); - if (this_page_contents) - pdf_release_obj (this_page_contents); - current_page_resources = res_stack[xobjects_pending].save_page_resources; - this_page_xobjects = res_stack[xobjects_pending].save_page_xobjects; - this_page_fonts = res_stack[xobjects_pending].save_page_fonts; - this_page_contents = res_stack[xobjects_pending].save_page_contents; - /* Must reselect the font again in case there was a font change in - the object */ - dev_reselect_font(); - /* Must reselect color too */ - dev_do_color(); - } else{ - fprintf (stderr, "\nSpecial: exobj: Tried to close a nonexistent xobject\n"); - } - return; -} - -void finish_pending_xobjects (void) -{ - if (xobjects_pending) { - fprintf (stderr, "\nFinishing a pending form XObject at end of page\n"); - while (xobjects_pending--) { - end_form_xobj(); - } - } - return; -} - -static struct -{ - pdf_obj *annot_dict; - unsigned char dirty; - double llx, lly, urx, ury; -} breaking_state = {NULL, 0}; - -void pdf_doc_set_box (void) -{ - breaking_state.llx = dev_page_width(); - breaking_state.urx = 0; - breaking_state.lly = dev_page_height(); - breaking_state.ury = 0; - breaking_state.dirty = 0; - return; -} - -void pdf_doc_begin_annot (pdf_obj *dict) -{ - breaking_state.annot_dict = dict; - pdf_doc_set_box (); - dev_tag_depth (); - return; -} - -void pdf_doc_end_annot (void) -{ - pdf_doc_flush_annot(); - breaking_state.annot_dict = NULL; - dev_untag_depth (); - return; -} - -void pdf_doc_flush_annot (void) -{ - pdf_obj *rectangle, *new_dict; - double grow; - grow = pdf_special_tell_grow (); - if (breaking_state.dirty) { - rectangle = pdf_new_array (); - pdf_add_array (rectangle, pdf_new_number(ROUND(breaking_state.llx-grow, 0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(breaking_state.lly-grow, 0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(breaking_state.urx+grow, 0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(breaking_state.ury+grow, 0.01))); - new_dict = pdf_new_dict (); - pdf_add_dict (new_dict, pdf_new_name ("Rect"), - rectangle); - pdf_merge_dict (new_dict, breaking_state.annot_dict); - pdf_doc_add_to_page_annots (pdf_ref_obj (new_dict)); - pdf_release_obj (new_dict); - } - pdf_doc_set_box(); - return; -} - -void pdf_doc_expand_box (double llx, double lly, double urx, double - ury) -{ - breaking_state.llx = MIN (breaking_state.llx, llx); - breaking_state.lly = MIN (breaking_state.lly, lly); - breaking_state.urx = MAX (breaking_state.urx, urx); - breaking_state.ury = MAX (breaking_state.ury, ury); - breaking_state.dirty = 1; - return; -} diff --git a/Build/source/texk/dvipdfm/pdfdoc.h b/Build/source/texk/dvipdfm/pdfdoc.h deleted file mode 100644 index 56f4c902140..00000000000 --- a/Build/source/texk/dvipdfm/pdfdoc.h +++ /dev/null @@ -1,96 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PDFDOC_H -#define PDFDOC_H - -#include "pdfobj.h" -extern void pdf_doc_new_page (void); -extern void pdf_doc_finish_page (void); -extern pdf_obj *pdf_doc_this_page_ref (void); -extern pdf_obj *pdf_doc_this_page (void); -extern pdf_obj *pdf_doc_page_tree (void); -extern pdf_obj *pdf_doc_catalog (void); -extern void pdf_doc_creator (char *s); -extern pdf_obj *pdf_doc_names (void); -extern pdf_obj *pdf_doc_next_page_ref (void); -extern pdf_obj *pdf_doc_prev_page_ref (void); -extern pdf_obj *pdf_doc_ref_page (unsigned long page_no); - -extern void pdf_doc_add_to_page_resources (const char *name, pdf_obj - *resources); -extern void pdf_doc_add_to_page_fonts (const char *name, pdf_obj - *font); -extern void pdf_doc_add_to_page_xobjects (const char *name, pdf_obj - *xobject); -extern pdf_obj *pdf_doc_current_page_resources(void); - -extern void pdf_doc_add_to_page_annots (pdf_obj *annot); - -extern void pdf_doc_add_dest (char *name, unsigned length, pdf_obj *array); - -extern void pdf_doc_start_article (char *name, pdf_obj *info); -extern void pdf_doc_add_bead (char *name, pdf_obj *partial_dict); - -extern void pdf_doc_merge_with_docinfo (pdf_obj *dictionary); -extern void pdf_doc_merge_with_catalog (pdf_obj *dictionary); - -extern void pdf_doc_add_to_page (char *buffer, unsigned length); - -extern void pdf_doc_change_outline_depth (int new_depth); -extern void pdf_doc_add_outline (pdf_obj *dict); - -extern void pdf_doc_init (char *filename); -extern void pdf_doc_close (void); - -extern void pdf_doc_comment (char *comment); - -extern void pdf_doc_set_verbose(void); -extern void pdf_doc_set_debug(void); - -extern void pdf_doc_bop (char *string, unsigned length); -extern void pdf_doc_eop (char *string, unsigned length); -extern void pdf_doc_set_origin (double x, double y); -extern void pdf_doc_this_bop (char *string, unsigned length); -extern void pdf_doc_set_origin (double x, double y); -extern void pdf_doc_this_eop (char *string, unsigned length); - -extern void doc_make_form_xobj (pdf_obj *stream, pdf_obj *bbox, - double refptx, double refpty, - double xscale, double yscale, - pdf_obj *resources, char *form_name); -extern pdf_obj *begin_form_xobj (double xpos, double ypos, - double bbllx, double bblly, - double bburx, double bbury, char *form_name); -extern void end_form_xobj (void); -extern void pdf_doc_enable_thumbnails (void); -extern void pdf_doc_begin_annot (pdf_obj *dict); -extern void pdf_doc_set_box (void); -extern void pdf_doc_end_annot (void); -extern void pdf_doc_flush_annot (void); -extern void pdf_doc_expand_box (double llx, double lly, double urx, - double ury); -#endif /* PDFDOC_H */ - diff --git a/Build/source/texk/dvipdfm/pdflimits.h b/Build/source/texk/dvipdfm/pdflimits.h deleted file mode 100644 index 5aba4e4725f..00000000000 --- a/Build/source/texk/dvipdfm/pdflimits.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#define MAX_FONTS 4u /* Font group allocation size, not a hard maximum */ -#define DVI_MAX_STACK_DEPTH 256u -#define MAX_VF_NESTING 16u -#define MAX_COLORS 32u -#define MAX_TRANSFORMS 32u -#define MAX_OUTLINE_DEPTH 32u -#define MAX_ARTICLES 64u -#define MAX_ENCODINGS 8u -#define IND_OBJECTS_ALLOC_SIZE 1024u -#define PAGES_ALLOC_SIZE 128u -#define DESTS_ALLOC_SIZE 1024u -#define NAMED_OBJ_ALLOC_SIZE 128u -#define VF_ALLOC_SIZE 16u -#define STREAM_ALLOC_SIZE 4096u -#define ARRAY_ALLOC_SIZE 256 diff --git a/Build/source/texk/dvipdfm/pdfobj.c b/Build/source/texk/dvipdfm/pdfobj.c deleted file mode 100644 index ea0b6d0fead..00000000000 --- a/Build/source/texk/dvipdfm/pdfobj.c +++ /dev/null @@ -1,1743 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999, 2008 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <ctype.h> -#include <string.h> -#include "system.h" -#include "config.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "pdflimits.h" -#include "pdfobj.h" -#include "pdfspecial.h" -#include "pdfparse.h" -#include "twiddle.h" - -#ifdef HAVE_ZLIB -#include <zlib.h> -#endif /* HAVE_ZLIB */ - -FILE *pdf_output_file = NULL; -FILE *pdf_input_file = NULL; -unsigned long pdf_output_file_position = 0, compression_saved = 0; -int pdf_output_line_position = 0; -#define FORMAT_BUF_SIZE 4096 -char format_buffer[FORMAT_BUF_SIZE]; - -static struct xref_entry -{ - unsigned long file_position; - pdf_obj *pdf_obj; -} *output_xref = NULL; -static unsigned long pdf_max_ind_objects = 0; -static unsigned long next_label = 1; - -static unsigned long startxref; - -static unsigned pdf_root_obj = 0, pdf_info_obj = 0; - -/* Internal static routines */ - -static void pdf_flush_obj (FILE *file, const pdf_obj *object); -static void pdf_label_obj (pdf_obj *object); - -static void pdf_out_char (FILE *file, char c); -static void pdf_out (FILE *file, void *buffer, int length); - -static void release_indirect (pdf_indirect *data); -static void write_indirect (FILE *file, const pdf_indirect *indirect); - -static void release_boolean (pdf_obj *data); -static void write_boolean (FILE *file, const pdf_boolean *data); - -static void write_null (FILE *file); -static void release_null (void *data); - -static void release_number (pdf_number *data); -static void write_number (FILE *file, const pdf_number - *number); - -static void write_string (FILE *file, const pdf_string *string); -static void release_string (pdf_string *data); - -static void write_name (FILE *file, const pdf_name *name); -static void release_name (pdf_name *data); - -static void write_array (FILE *file, const pdf_array *array); -static void release_array (pdf_array *data); - -static void write_dict (FILE *file, const pdf_dict *dict); -static void release_dict (pdf_dict *data); - -static void write_stream (FILE *file, pdf_stream *stream); -static void release_stream (pdf_stream *stream); -static int pdf_match_name (const pdf_obj *name_obj, const char *name); /* Name does not include the / */ - -static unsigned char debug = 0, verbose = 0; -static char compression_level = 9; - -void pdf_obj_set_compression (int level) -{ - if (level >= 0 && level <= 9) - compression_level = level; - else { - ERROR("set_compression: compression level"); - } -#ifndef HAVE_ZLIB_COMPRESS2 - if (level != 0) - fprintf (stderr, "Unable to set compression level--your zlib doesn't have compress2()\n"); -#endif - return; -} - -static unsigned pdf_version = 4; -void pdf_set_version (unsigned version) -{ - if (version >= 2 && version <= 7) { - pdf_version = version; - } -} - -void pdf_obj_set_debug(void) -{ - debug = 1; -} - -void pdf_obj_set_verbose(void) -{ - if (verbose < 255) - verbose += 1; -} - - -void pdf_out_init (const char *filename) -{ - char v; -#ifdef MEM_DEBUG -MEM_START -#endif - if (!(pdf_output_file = MFOPEN (filename, FOPEN_WBIN_MODE))) { - if (strlen(filename) < 128) { - sprintf (format_buffer, "Unable to open %s\n", filename); - } else - sprintf (format_buffer, "Unable to open file"); - ERROR (format_buffer); - } - pdf_out (pdf_output_file, "%PDF-1.", strlen("%PDF-1.")); - v = '0'+pdf_version; - pdf_out (pdf_output_file, &v, 1); - pdf_out (pdf_output_file, "\n", 1); - /* Adobe recommends writing % and four non-ASCII bytes in the second - line of a PDF, so that programs have a better chance of realizing - it is not a text file. The string here is "%" followed by "pdfm" - with the 8th bit set on each letter. */ - pdf_out (pdf_output_file, "\045\360\344\346\355\n", 6); -#ifdef MEM_DEBUG -MEM_END -#endif -} - -static void dump_xref(void) -{ - int length; - unsigned long i; - startxref = pdf_output_file_position; /* Record where this xref is for - trailer */ - pdf_out (pdf_output_file, "xref\n", 5); - sprintf (format_buffer, "%d %lu\n", 0, next_label); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - sprintf (format_buffer, "%010ld %05ld f \n", 0L, 65535L); - length = strlen (format_buffer); - /* Every space counts. The space after the 'f' and 'n' is - *essential*. The PDF spec says the lines must be 20 characters - long including the end of line character. */ - pdf_out (pdf_output_file, format_buffer, length); - for (i=1; i<next_label; i++){ - sprintf (format_buffer, "%010ld %05ld n \n", - output_xref[i-1].file_position, 0L); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - } - /* Done with xref table */ - RELEASE (output_xref); -} - -static void dump_trailer(void) -{ - int length; - unsigned long starttrailer; - starttrailer = pdf_output_file_position; - pdf_out (pdf_output_file, "trailer\n", 8); - pdf_out (pdf_output_file, "<<\n", 3); - sprintf (format_buffer, "/Size %lu\n", - next_label); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - if (pdf_root_obj == 0) - ERROR ("dump_trailer: Invalid root object"); - sprintf (format_buffer, "/Root %u %u R\n", pdf_root_obj, 0); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - if (pdf_info_obj != 0) { - sprintf (format_buffer, "/Info %u %u R\n", pdf_info_obj, 0); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - } - pdf_out (pdf_output_file, ">>\n", 3); - pdf_out (pdf_output_file, "startxref\n", 10); - sprintf (format_buffer, "%lu\n", startxref); - length = strlen (format_buffer); - pdf_out (pdf_output_file, format_buffer, length); - pdf_out (pdf_output_file, "%%EOF\n", 6); -} - -void pdf_out_flush (void) -{ - if (pdf_output_file) { - if (debug) fprintf (stderr, "pdf_obj_out_flush: dumping xref\n"); - dump_xref(); - if (debug) fprintf (stderr, "pdf_obj_out_flush: dumping trailer\n"); - dump_trailer(); - if (verbose) { - if (compression_level>0) { - fprintf (stderr, "\nCompression eliminated approximately %lu bytes", - compression_saved); - } - } - fprintf (stderr, "\n%lu bytes written", - pdf_output_file_position); - MFCLOSE (pdf_output_file); - } -} - -void pdf_error_cleanup (void) -{ - /* This routine is the cleanup required for an abnormal exit. - For now, simply close the file. */ - if (pdf_output_file) - MFCLOSE (pdf_output_file); -} - - -void pdf_set_root (pdf_obj *object) -{ - if (pdf_root_obj != 0) { - ERROR ("pdf_set_root: root object already set"); - } - if (object -> label == 0) { /* Make sure this object has a label */ - pdf_label_obj (object); - } - pdf_root_obj = object -> label; -} - -void pdf_set_info (pdf_obj *object) -{ - if (pdf_info_obj != 0) { - ERROR ("pdf_set_info: info object already set"); - } - if (object -> label == 0) { /* Make sure this object has a label */ - pdf_label_obj (object); - } - pdf_info_obj = object -> label; -} - -static void pdf_out_char (FILE *file, char c) -{ - fputc (c, file); - /* Keep tallys for xref table *only* if writing a pdf file */ - if (file == pdf_output_file) { - pdf_output_file_position += 1; - pdf_output_line_position += 1; - } - if (file == pdf_output_file && c == '\n') - pdf_output_line_position = 0; -} - -static void pdf_out (FILE *file, void *buffer, int length) -{ - fwrite (buffer, 1, length, file); - /* Keep tallys for xref table *only* if writing a pdf file */ - if (file == pdf_output_file) { - pdf_output_file_position += length; - pdf_output_line_position += length; - if (length > 0 && ((char *)buffer)[length-1] == '\n') - pdf_output_line_position = 0; - } -} - -static void pdf_out_white (FILE *file) -{ - if (file == pdf_output_file && pdf_output_line_position >= 80) { - pdf_out_char (file, '\n'); - } else { - pdf_out_char (file, ' '); - } - return; -} - -pdf_obj *pdf_new_obj(pdf_obj_type type) -{ - pdf_obj *result; - result = NEW (1, pdf_obj); - result -> type = type; - result -> data = NULL; - result -> label = 0; - result -> generation = 0; - result -> refcount = 1; - return result; -} - -static void pdf_label_obj (pdf_obj *object) -{ - if (object == NULL) - return; - if (next_label > pdf_max_ind_objects) { - pdf_max_ind_objects += IND_OBJECTS_ALLOC_SIZE; - output_xref = RENEW (output_xref, pdf_max_ind_objects, - struct xref_entry); - } - if (object -> label == 0) { /* Don't change label on an already labeled - object. Ignore such calls */ - /* Save so we can lookup this object by its number */ - output_xref[next_label-1].pdf_obj = object; - object -> label = next_label++; - object -> generation = 0; - } -} - -/* This doesn't really copy the object, but allows - it to be used without fear that somebody else will free it */ - -pdf_obj *pdf_link_obj (pdf_obj *object) -{ - if (object == NULL) - ERROR ("pdf_link_obj passed null pointer"); - object -> refcount += 1; - return object; -} - - -pdf_obj *pdf_ref_obj(pdf_obj *object) -{ - pdf_obj *result; - pdf_indirect *indirect; - - if (object == NULL) - ERROR ("pdf_ref_obj passed null pointer"); - - if (object -> refcount == 0) { - fprintf (stderr, "\npdf_ref_obj: Called with already released object"); - pdf_write_obj (stderr, object); - ERROR ("Fatal Error\n"); - } - result = pdf_new_obj (PDF_INDIRECT); - indirect = NEW (1, pdf_indirect); - result -> data = indirect; - if (object -> type == PDF_INDIRECT) { /* If an object is already an indirect reference, - reference the original - object, not the indirect - one */ - indirect -> label = ((pdf_indirect *) (object -> data)) -> label; - indirect -> generation = ((pdf_indirect *) (object -> data)) -> generation; - indirect -> dirty = ((pdf_indirect *) (object -> data)) -> dirty; - indirect -> dirty_file = ((pdf_indirect *) (object -> data)) -> dirty_file; - } else { - if (object -> label == 0) { - pdf_label_obj (object); - } - indirect -> label = object -> label; - indirect -> generation = object -> generation; - indirect -> dirty = 0; - indirect -> dirty_file = NULL; - } - return result; -} - -static void release_indirect (pdf_indirect *data) -{ - RELEASE (data); -} - -static void write_indirect (FILE *file, const pdf_indirect *indirect) -{ - int length; -#ifdef MEM_DEBUG -MEM_START -#endif - if (indirect -> dirty) { - if (file == stderr) { - pdf_out (file, "{d}", 3); - sprintf (format_buffer, "%d %d R", indirect -> label, - indirect -> generation); - length = strlen (format_buffer); - pdf_out (file, format_buffer, length); - } - else { - pdf_obj *clean; - if (indirect -> dirty_file != pdf_input_file) { - fprintf (stderr, "\nwrite_indirect, label=%d, from_file=%p, current_file=%p\n", indirect -> label, indirect->dirty_file, pdf_input_file); - ERROR ("write_indirect: input PDF file doesn't match object"); - } - clean = pdf_ref_file_obj (indirect -> label); - pdf_write_obj (file, clean); - pdf_release_obj (clean); - } - } else { - sprintf (format_buffer, "%d %d R", indirect -> label, - indirect -> generation); - length = strlen (format_buffer); - pdf_out (file, format_buffer, length); - } -#ifdef MEM_DEBUG -MEM_END -#endif -} - -pdf_obj *pdf_new_null (void) -{ - pdf_obj *result; - result = pdf_new_obj (PDF_NULL); - result -> data = NULL; - return result; -} - -static void release_null (void *data) -{ - return; -} - -static void write_null (FILE *file) -{ - pdf_out (file, "null", 4); -} - -pdf_obj *pdf_new_boolean (char value) -{ - pdf_obj *result; - pdf_boolean *data; - result = pdf_new_obj (PDF_BOOLEAN); - data = NEW (1, pdf_boolean); - result -> data = data; - data -> value = value; - return result; -} - -static void release_boolean (pdf_obj *data) -{ - RELEASE (data); -} - -static void write_boolean (FILE *file, const pdf_boolean *data) -{ - if (data -> value) { - pdf_out (file, "true", 4); - } - else { - pdf_out (file, "false", 5); - } -} - -void pdf_set_boolean (pdf_obj *object, char value) -{ - if (object == NULL || object -> type != PDF_BOOLEAN) { - ERROR ("pdf_set_boolean: Passed non-boolean object"); - } - ((pdf_boolean *) (object -> data)) -> value = value; -} - -pdf_obj *pdf_new_number (double value) -{ - pdf_obj *result; - pdf_number *data; - result = pdf_new_obj (PDF_NUMBER); - data = NEW (1, pdf_number); - result -> data = data; - data -> value = value; - return result; -} - -static void release_number (pdf_number *data) -{ - RELEASE (data); -} - -static void write_number (FILE *file, const pdf_number *number) -{ - int count; - sprintf (format_buffer, "%.10g", number -> value); - count = strlen (format_buffer); - pdf_out (file, format_buffer, count); -} - - -void pdf_set_number (pdf_obj *object, double value) -{ - if (object == NULL || object -> type != PDF_NUMBER) { - ERROR ("pdf_set_number: Passed non-number object"); - } - ((pdf_number *) (object -> data)) -> value = value; -} - -double pdf_number_value (pdf_obj *object) -{ - if (object == NULL || object -> type != PDF_NUMBER) { - ERROR ("pdf_obj_number_value: Passed non-number object"); - } - return ((pdf_number *)(object -> data)) -> value; -} - -pdf_obj *pdf_new_string (const void *string, unsigned length) -{ - pdf_obj *result; - pdf_string *data; - result = pdf_new_obj (PDF_STRING); - data = NEW (1, pdf_string); - result -> data = data; - if (length != 0) { - data -> length = length; - data -> string = NEW (length+1, unsigned char); - memcpy (data -> string, string, length); - data -> string[length] = 0; - } else { - data -> length = 0; - data -> string = NULL; - } - return result; -} - -void *pdf_string_value (pdf_obj *a_pdf_string) -{ - pdf_string *data; - data = a_pdf_string -> data; - return data -> string; -} - -unsigned int pdf_string_length (pdf_obj *a_pdf_string) -{ - pdf_string *data; - data = a_pdf_string -> data; - return (data -> length); -} - -/* This routine escapes non printable characters and control - characters in an output string. It optionally remaps - the problem characters in the encoding */ - -int pdfobj_escape_str (char *buffer, int bufsize, unsigned char *s, - int len, int remap) -{ - int result = 0, i; - unsigned char ch; - for (i=0; i<len; i++) { - ch = remap? twiddle(s[i]): s[i]; - /* Exit as fast as possible for printable characters */ - if (result+4 > bufsize) - ERROR ("pdfobj_escape_str: Buffer overflow"); - if (ch < 32 || ch > 126) { - buffer[result++] = '\\'; - sprintf (buffer+result, "%03o", ch); - result += strlen (buffer+result); - continue; - } - switch (ch) { - case '(': - buffer[result++] = '\\'; - buffer[result++] = '('; - break; - case ')': - buffer[result++] = '\\'; - buffer[result++] = ')'; - break; - case '\\': - buffer[result++] = '\\'; - buffer[result++] = '\\'; - break; - default: - buffer[result++] = ch; - break; - } - } - return result; -} - - -static void write_string (FILE *file, const pdf_string *string) -{ - unsigned char *s = string -> string; - int count, i; - pdf_out_char (file, '('); - /* This section of code probably isn't speed critical. Escaping the - characters in the string one at a time may seem slow, but it's - safe if the formatted string length exceeds FORMAT_BUF_SIZE. - Occasionally you see some long strings in PDF. pdfobj_escape_str - is also used for strings of text with no kerning. These must be - handled as quickly as possible since there are so many of them. */ - for (i=0; i<string->length; i++) { - count = pdfobj_escape_str (format_buffer, FORMAT_BUF_SIZE, s+i, - 1, 0); - pdf_out (file, format_buffer, count); - } - pdf_out_char (file, ')'); -} - -static void release_string (pdf_string *data) -{ - if (data -> string != NULL) - RELEASE (data -> string); - RELEASE (data); -} - -void pdf_set_string (pdf_obj *object, unsigned char *string, unsigned length) -{ - pdf_string *data; - if (object == NULL || object -> type != PDF_STRING) { - ERROR ("pdf_set_string: Passed non-string object"); - } - data = object -> data; - if (data -> length != 0) { - RELEASE (data -> string); - } - if (length != 0) { - data -> length = length; - data -> string = NEW (length+1, unsigned char); - memcpy (data -> string, string, length); - (data->string)[length] = 0; - } else { - data -> length = 0; - data -> string = NULL; - } - return; -} - -int pdf_check_name(const char *name) -{ - static char *valid_chars = - "!\"$&'*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~"; - if (strspn (name, valid_chars) == strlen (name)) - return 1; - else - return 0; -} - -pdf_obj *pdf_new_name (const char *name) /* name does *not* include the / */ -{ - pdf_obj *result; - unsigned length = strlen (name); - pdf_name *data; - if (!pdf_check_name (name)) { - fprintf (stderr, "Invalid PDF name \"%s\"\n", name); - ERROR ("pdf_new_name: invalid PDF name"); - } - result = pdf_new_obj (PDF_NAME); - data = NEW (1, pdf_name); - result -> data = data; - if (length != 0) { - data -> name = NEW (length+1, char); - memcpy (data -> name, name, length); - (data->name)[length] = 0; - } else - data -> name = NULL; - return result; -} - -static void write_name (FILE *file, const pdf_name *name) -{ - char *s = name -> name; - int i, length; - pdf_out_char (file, '/'); - if (name -> name == NULL) - length = 0; - else - length = strlen (name -> name); - for (i=0; i < length; i++) { - if (isprint (s[i]) && - s[i] != '/' && - s[i] != '%' && - s[i] != '(' && - s[i] != ')' && - s[i] != '[' && - s[i] != ']' && - s[i] != '#') - pdf_out_char (file, s[i]); - } -} - - -static void release_name (pdf_name *data) -{ - if (data -> name != NULL) - RELEASE (data -> name); - RELEASE (data); -} - -void pdf_set_name (pdf_obj *object, char *name) -{ - pdf_name *data; - unsigned length = strlen (name); - if (object == NULL || object -> type != PDF_NAME) { - ERROR ("pdf_set_name: Passed non-name object"); - } - data = object -> data; - if (data -> name != NULL) { - RELEASE (data -> name); - } - if (length != 0) { - data -> name = NEW (length+1, char); - memcpy (data -> name, name, length); - (data->name)[length] = 0; - } else { - data -> name = NULL; - } -} - -char *pdf_name_value (pdf_obj *object) -{ - pdf_name *data; - if (object == NULL || object -> type != PDF_NAME) { - ERROR ("pdf_name_value: Passed non-name object"); - } - data = object -> data; - if (data -> name == NULL) - return NULL; - return data -> name; -} - - -pdf_obj *pdf_new_array (void) -{ - pdf_obj *result; - pdf_array *data; - result = pdf_new_obj (PDF_ARRAY); - data = NEW (1, pdf_array); - data -> values = NULL; - data -> max = 0; - data -> size = 0; - result -> data = data; - return result; -} - -static void write_array (FILE *file, const pdf_array *array) -{ - if (array -> size > 0) { - unsigned long i; - pdf_out_char (file, '['); - for (i=0; i<array->size; i++) { - if (i != 0 && - ((array->values)[i]->type) != PDF_STRING && - ((array->values)[i]->type) != PDF_NAME && - ((array->values)[i]->type) != PDF_ARRAY) - pdf_out_white (file); - pdf_write_obj (file, (array->values)[i]); - } - pdf_out_char (file, ']'); - } else { - write_null (file); - } -} - -pdf_obj *pdf_get_array (pdf_obj *array, unsigned long index) -{ - pdf_array *data; - pdf_obj *result = NULL; - if (array == NULL) { - ERROR ("pdf_get_array: passed NULL object"); - } - if (array -> type != PDF_ARRAY) { - ERROR ("pdf_get_array: passed non array object"); - } - data = array -> data; - if (index < data -> size) { - result = (data->values)[index]; - } - return result; -} - -static void release_array (pdf_array *data) -{ - unsigned long i; - for (i=0; i<data->size; i++) { - pdf_release_obj ((data ->values)[i]); - } - if (data->size > 0) - RELEASE (data->values); - RELEASE (data); -} - -void pdf_add_array (pdf_obj *array, pdf_obj *object) /* Array is ended - by a node with NULL - this pointer */ -{ - pdf_array *data; - if (array == NULL || array -> type != PDF_ARRAY) { - ERROR ("pdf_add_array: Passed non-array object"); - } - data = array -> data; - if (data -> size >= data -> max) { - data->max += ARRAY_ALLOC_SIZE; - data->values = RENEW (data->values, data->max, pdf_obj *); - } - (data->values)[data->size++] = object; - return; -} - - -static void write_dict (FILE *file, const pdf_dict *dict) -{ - pdf_out (file, "<<\n", 3); - while (dict -> key != NULL) { - pdf_write_obj (file, dict -> key); - if (((dict -> value) -> type) == PDF_BOOLEAN || - ((dict -> value) -> type) == PDF_NUMBER || - ((dict -> value) -> type) == PDF_INDIRECT || - ((dict -> value) -> type) == PDF_NULL) - pdf_out_white (file); - pdf_write_obj (file, dict -> value); - dict = dict -> next; - pdf_out_char (file, '\n'); - } - pdf_out (file, ">>", 2); -} - -pdf_obj *pdf_new_dict (void) -{ - pdf_obj *result; - pdf_dict *data; - result = pdf_new_obj (PDF_DICT); - data = NEW (1, pdf_dict); - data -> key = NULL; - data -> value = NULL; - data -> next = NULL; - result -> data = data; - return result; -} - -static void release_dict (pdf_dict *data) -{ - pdf_dict *next; - while (data != NULL && data -> key != NULL) { - pdf_release_obj (data -> key); - pdf_release_obj (data -> value); - next = data -> next; - RELEASE (data); - data = next; - } - RELEASE (data); -} - -void pdf_add_dict (pdf_obj *dict, pdf_obj *key, pdf_obj *value) /* Array is ended - by a node with NULL - this pointer */ -{ - pdf_dict *data; - pdf_dict *new_node; - if (key == NULL || key -> type != PDF_NAME ) { - ERROR ("pdf_add_dict: Passed invalid key"); - } - if (value != NULL && - (value -> type == 0 || value -> type > PDF_INDIRECT )) { - ERROR ("pdf_add_dict: Passed invalid value"); - } - if (dict == NULL || dict -> type != PDF_DICT) { - fprintf (stderr, "key:"); - pdf_write_obj (stderr, key); - fprintf (stderr, "value:"); - pdf_write_obj (stderr, value); - ERROR ("pdf_add_dict: Passed non-dict object"); - } - data = dict -> data; - /* If this key already exists, simply replace the value */ - while (data -> key != NULL) { - if (!strcmp (pdf_name_value(key), pdf_name_value(data->key))) { - /* Release the old value */ - pdf_release_obj (data->value); - /* Release the new key (we don't need it) */ - pdf_release_obj (key); - data->value = value; - break; - } - data = data -> next; - } - /* If we didn't find the key, build a new "end" node and add - the new key just before the end */ - if (data -> key == NULL) { - new_node = NEW (1, pdf_dict); - new_node -> key = NULL; - new_node -> value = NULL; - new_node -> next = NULL; - data -> next = new_node; - data -> key = key; - data -> value = value; - } - return; -} - -/* pdf_merge_dict makes a link for each item in dict2 before - stealing it */ -void pdf_merge_dict (pdf_obj *dict1, pdf_obj *dict2) -{ - pdf_dict *data; - if (dict1 == NULL || dict1 -> type != PDF_DICT) - ERROR ("pdf_merge_dict: Passed invalid first dictionary"); - if (dict2 == NULL || dict2 -> type != PDF_DICT) - ERROR ("pdf_merge_dict: Passed invalid second dictionary"); - data = dict2 -> data; - while (data -> key != NULL) { - pdf_add_dict (dict1, pdf_link_obj(data -> key), - pdf_link_obj (data -> value)); - data = data -> next; - } -} - -static int pdf_match_name (const pdf_obj *name_obj, const char *name_string) -{ - pdf_name *data; - data = name_obj -> data; - return (!strcmp (data -> name, name_string)); -} - -pdf_obj *pdf_lookup_dict (const pdf_obj *dict, const char *name) -{ - pdf_dict *data; - if (dict == NULL || dict ->type != PDF_DICT) - ERROR ("pdf_lookup_dict: Passed invalid dictionary"); - data = dict -> data; - while (data -> key != NULL) { - if (pdf_match_name (data -> key, name)) - return data -> value; - data = data -> next; - } - return NULL; -} - -void pdf_remove_dict (pdf_obj *dict, const char *name) -{ - pdf_dict *data, **data_p; - if (dict == NULL || dict->type != PDF_DICT) - ERROR ("pdf_remove_dict: Passed invalid dictionary"); - data = (dict -> data); - data_p = (pdf_dict **) &(dict->data); - while (data->key != NULL) { - if (pdf_match_name (data -> key, name)) { - pdf_release_obj (data -> key); - pdf_release_obj (data -> value); - *data_p = data -> next; - RELEASE (data); - break; - } - data_p = &(data->next); - data = data -> next; - } - return; -} - -char *pdf_get_dict (const pdf_obj *dict, int index) -{ - pdf_dict *data; - char *result; - if (dict == NULL) { - ERROR ("pdf_get_dict: passed NULL object"); - } - if (dict -> type != PDF_DICT) { - ERROR ("pdf_get_dict: passed non array object"); - } - data = dict -> data; - while (index-- > 0 && data -> next != NULL) - data = data -> next; - if (data -> next == NULL) - return NULL; - result = pdf_name_value (data -> key); - return result; -} - -pdf_obj *pdf_new_stream (int flags) -{ - pdf_obj *result; -#ifdef HAVE_ZLIB - pdf_obj *filters = NULL; -#endif /* HAVE_ZLIB */ - pdf_stream *data; - result = pdf_new_obj (PDF_STREAM); - data = NEW (1, pdf_stream); - result -> data = data; - data -> dict = pdf_new_dict (); /* Although we are using an arbitrary - pdf_object here, it must have - type=PDF_DICT and cannot be an - indirect reference. This will - be checked by the output routine - */ - data -> _flags = flags; -#ifdef HAVE_ZLIB - if ((flags & STREAM_COMPRESS) && compression_level > 0) { - if (!filters) { - filters = pdf_new_array(); - pdf_add_dict (data -> dict, pdf_new_name ("Filter"), filters); - } - pdf_add_array (filters, pdf_new_name ("FlateDecode")); - } -#endif /* HAVE_ZLIB */ - - data -> stream_length = 0; - data -> max_length = 0; - data -> stream = NULL; - return result; -} - - -static void write_stream (FILE *file, pdf_stream *stream) -{ -#define COMPRESS_LEVEL 9 -#define THRESHOLD 100 - unsigned char *filtered; - unsigned long filtered_length; -#ifdef HAVE_ZLIB - unsigned long buffer_length; - unsigned char *buffer; -#endif /* HAVE_ZLIB */ - /* Always work from a copy of the stream */ - /* All filters read from "filtered" and leave their result in - "filtered" */ - filtered = NEW (stream->stream_length+1, unsigned char); - memcpy (filtered, stream->stream, stream->stream_length); - filtered_length = stream->stream_length; - -#ifdef HAVE_ZLIB - /* Apply compression filter if requested */ - if ((stream -> _flags & STREAM_COMPRESS) && compression_level > 0) { - buffer_length = filtered_length + filtered_length/1000 + 14; - buffer = NEW (buffer_length, unsigned char); -#ifdef HAVE_ZLIB_COMPRESS2 - if (compress2 (buffer, &buffer_length, filtered, - filtered_length, compression_level)) - ERROR ("Zlib error"); -#else - if (compress (buffer, &buffer_length, filtered, - filtered_length)) - ERROR ("Zlib error"); -#endif /* HAVE_ZLIB_COMPRESS2 */ - RELEASE (filtered); - filtered = buffer; - compression_saved += (filtered_length-buffer_length)-strlen("/Filter [/FlateDecode]\n"); - filtered_length = buffer_length; - } -#endif /* HAVE_ZLIB */ - /* Add a '\n' if the last character wasn't one */ - if (filtered_length > 0 && filtered[filtered_length-1] != '\n') { - filtered[filtered_length++] = '\n'; - } - pdf_add_dict (stream->dict, - pdf_new_name ("Length"), - pdf_new_number(filtered_length)); - pdf_write_obj (file, stream -> dict); - pdf_out (file, "\nstream\n", 8); - - if (filtered_length > 0) { - pdf_out (file, filtered, filtered_length); - } - - RELEASE (filtered); - /* This stream length "object" gets reset every time write_stream is - called for the stream object */ - /* If this stream gets written more than once with different - filters, this could be a problem */ - pdf_out (file, "endstream", 9); - return; -} - -static void release_stream (pdf_stream *stream) -{ - pdf_release_obj (stream -> dict); - if (stream -> stream_length > 0) - RELEASE (stream -> stream); - RELEASE (stream); -} - -pdf_obj *pdf_stream_dict (pdf_obj *stream) -{ - pdf_stream *data; - if (stream == NULL || stream -> type != PDF_STREAM) { - ERROR ("pdf_stream_dict: Passed non-stream object"); - } - data = stream -> data; - return data -> dict; -} - -void pdf_add_stream (pdf_obj *stream, char *stream_data, unsigned length) -{ - pdf_stream *data; - if (stream == NULL || stream -> type != PDF_STREAM) { - ERROR ("pdf_add_stream: Passed non-stream object"); - } - if (length == 0) - return; - data = stream -> data; - if (data -> stream_length + length > data -> max_length) { - data -> max_length += length + STREAM_ALLOC_SIZE; - data -> stream = RENEW (data -> stream, data->max_length, char); - } - memcpy ((data->stream)+(data->stream_length), stream_data, - length); - data->stream_length += length; -} - -void pdf_write_obj (FILE *file, const pdf_obj *object) -{ - if (object == NULL) { - write_null(file); - return; - } - if (object -> type > PDF_INDIRECT) { - fprintf (stderr, "Object type = %d\n", object -> type); - ERROR ("pdf_write_obj: Called with invalid object"); - } - if (file == stderr) - fprintf (stderr, "{%d}", object -> refcount); - switch (object -> type) { - case PDF_BOOLEAN: - write_boolean (file, object -> data); - break; - case PDF_NUMBER: - write_number (file, object -> data); - break; - case PDF_STRING: - write_string (file, object -> data); - break; - case PDF_NAME: - write_name (file, object -> data); - break; - case PDF_ARRAY: - write_array (file, object -> data); - break; - case PDF_DICT: - write_dict (file, object -> data); - break; - case PDF_STREAM: - write_stream (file, object -> data); - break; - case PDF_NULL: - write_null (file); - break; - case PDF_INDIRECT: - write_indirect (file, object -> data); - break; - } -} - -static void pdf_flush_obj (FILE *file, const pdf_obj *object) - /* Write the object to the file */ -{ - int length; - /* Record file position. No object is numbered 0, so subtract 1 - when using as an array index */ - output_xref[object->label-1].file_position = pdf_output_file_position; - sprintf (format_buffer, "%lu %d obj\n", object -> label , - object -> generation); - length = strlen (format_buffer); - pdf_out (file, format_buffer, length); - pdf_write_obj (file, object); - pdf_out (file, "\nendobj\n", 8); -} - - -void pdf_release_obj (pdf_obj *object) -{ - if (object == NULL) - return; - if (object -> type > PDF_INDIRECT || - object -> refcount <= 0) { - fprintf (stderr, "pdf_release_obj: object = %p, type = %d\n", object, object -> - type); - pdf_write_obj (stderr, object); - ERROR ("pdf_release_obj: Called with invalid object"); - } - object -> refcount -= 1; - if (object -> refcount == 0) { /* Nothing is using this object so it's okay to - remove it */ - /* Nonzero "label" means object needs to be written before it's destroyed*/ - if (object -> label && pdf_output_file != NULL) { - pdf_flush_obj (pdf_output_file, object); - } - switch (object -> type) { - case PDF_BOOLEAN: - release_boolean (object -> data); - break; - case PDF_NULL: - release_null (object -> data); - break; - case PDF_NUMBER: - release_number (object -> data); - break; - case PDF_STRING: - release_string (object -> data); - break; - case PDF_NAME: - release_name (object -> data); - break; - case PDF_ARRAY: - release_array (object -> data); - break; - case PDF_DICT: - release_dict (object -> data); - break; - case PDF_STREAM: - release_stream (object -> data); - break; - case PDF_INDIRECT: - release_indirect (object -> data); - break; - } - /* This might help detect freeing already freed objects */ - /* object -> type = -1;*/ - RELEASE (object); - } -} - -static int backup_line (void) -{ - int ch; - ch = -1; - if (debug) { - fprintf (stderr, "\nbackup_line:\n"); - } - /* Note: this code should work even if \r\n is eol. - It could fail on a machine where \n is eol and - there is a \r in the stream---Highly unlikely - in the last few bytes where this is likely to be used. - */ - if (tell_position (pdf_input_file) > 1) - do { - seek_relative (pdf_input_file, -2); - if (debug) - fprintf (stderr, "%c", ch); - } while (tell_position (pdf_input_file) > 0 && - (ch = fgetc (pdf_input_file)) >= 0 && - (ch != '\n' && ch != '\r' )); - if (debug) - fprintf (stderr, "<-\n"); - if (ch < 0) { - return 0; - } - return 1; -} - -static unsigned long pdf_file_size = 0; - -static long find_xref(void) -{ - long currentpos, xref_pos; - int tries = 10; - char *start, *end, *number; - if (debug) - fprintf (stderr, "(find_xref"); - seek_end (pdf_input_file); - pdf_file_size = tell_position (pdf_input_file); - do { - if (!backup_line()) { - tries = 0; - break; - } - currentpos = tell_position(pdf_input_file); - fread (work_buffer, sizeof(char), strlen("startxref"), - pdf_input_file); - if (debug) { - work_buffer[strlen("startxref")] = 0; - fprintf (stderr, "[%s]\n", work_buffer); - } - seek_absolute(pdf_input_file, currentpos); - tries--; - } while (tries > 0 && strncmp (work_buffer, "startxref", strlen ("startxref"))); - if (tries <= 0) - return 0; - /* Skip rest of this line */ - mfgets (work_buffer, WORK_BUFFER_SIZE, pdf_input_file); - /* Next line of input file should contain actual xref location */ - mfgets (work_buffer, WORK_BUFFER_SIZE, pdf_input_file); - if (debug) { - fprintf (stderr, "\n->[%s]<-\n", work_buffer); - } - start = work_buffer; - end = start+strlen(work_buffer); - skip_white(&start, end); - xref_pos = (long) atof (number = parse_number (&start, end)); - RELEASE (number); - if (debug) { - fprintf (stderr, ")\n"); - fprintf (stderr, "xref @ %lu\n", xref_pos); - } - return xref_pos; -} - -pdf_obj *parse_trailer (void) -{ - char *start; -#ifdef MEM_DEBUG -MEM_START -#endif - /* This routine must be called with the file pointer located at - the start of the trailer */ - /* Fill work_buffer and hope trailer fits. This should - be made a bit more robust sometime */ - if (fread (work_buffer, sizeof(char), WORK_BUFFER_SIZE, - pdf_input_file) == 0 || - strncmp (work_buffer, "trailer", strlen("trailer"))) { - fprintf (stderr, "No trailer. Are you sure this is a PDF file?\n"); - fprintf (stderr, "\nbuffer:\n->%s<-\n", work_buffer); - return NULL; - } - start = work_buffer + strlen("trailer"); - skip_white(&start, work_buffer+WORK_BUFFER_SIZE); -#ifdef MEM_DEBUG -MEM_END -#endif - return (parse_pdf_dict (&start, work_buffer+WORK_BUFFER_SIZE)); -} - -struct object -{ - unsigned long position; - unsigned generation; - /* Object numbers in original file and new file must have different - object numbers. - new_ref provides a reference for the object in the new file - object space. When it is first set, an object in the old file - is copied to the new file with a new number. new_ref remains set - until the file is closed so that future references can access the - object via new_ref instead of copying the object again */ - pdf_obj *direct; - pdf_obj *indirect; - int used; -} *xref_table = NULL; -long num_input_objects; - -long next_object (unsigned long obj) -{ - /* routine tries to estimate an upper bound for character position - of the end of the object, so it knows how big the buffer must be. - The parsing routines require that the entire object be read into - memory. It would be a major pain to rewrite them. The worst case - is that an object before an xref table will grab the whole table - :-( */ - unsigned long i; - long this_position, result = pdf_file_size; /* Worst case */ - this_position = xref_table[obj].position; - /* Check all other objects to find next one */ - for (i=0; i<num_input_objects; i++) { - if ((xref_table[i].used) && - xref_table[i].position > this_position && - xref_table[i].position < result) - result = xref_table[i].position; - } - return result; -} - -/* The following routine returns a reference to an object existing - only in the input file. It does this as follows. If the object - has never been referenced before, it reads the object - in and creates a reference to it. Then it writes - the object out, keeping the existing reference. If the - object has been read in (and written out) before, it simply - returns the retained existing reference to that object */ - -pdf_obj *pdf_ref_file_obj (unsigned long obj_no) -{ - pdf_obj *direct, *indirect; -#ifdef MEM_DEBUG -MEM_START -#endif - if (obj_no >= num_input_objects) { - fprintf (stderr, "\n\npdf_ref_file_obj: nonexistent object\n"); - return NULL; - } - if (xref_table[obj_no].indirect != NULL) { - return pdf_link_obj(xref_table[obj_no].indirect); - } - if ((direct = pdf_read_object (obj_no)) == NULL) { - fprintf (stderr, "\npdf_ref_file_obj: Could not read object\n"); - return NULL; - } - indirect = pdf_ref_obj (direct); - xref_table[obj_no].indirect = indirect; - xref_table[obj_no].direct = direct; - /* Make sure the caller can't doesn't free this object */ -#ifdef MEM_DEBUG -MEM_END -#endif - return pdf_link_obj(indirect); -} - - -pdf_obj *pdf_new_ref (unsigned long label, int generation) -{ - pdf_obj *result; - pdf_indirect *indirect; - if (label >= num_input_objects || label < 0) { - fprintf (stderr, "pdf_new_ref: Object doesn't exist\n"); - return NULL; - } - result = pdf_new_obj (PDF_INDIRECT); - indirect = NEW (1, pdf_indirect); - result -> data = indirect; - indirect -> label = label; - indirect -> generation = generation; - indirect -> dirty = 1; - indirect -> dirty_file = pdf_input_file; - return result; -} - -pdf_obj *pdf_read_object (unsigned long obj_no) -{ - long start_pos, end_pos; - char *buffer, *number, *parse_pointer, *end; - pdf_obj *result; -#ifdef MEM_DEBUG -MEM_START -#endif - if (debug) { - fprintf (stderr, "\nread_object: obj=%lu\n", obj_no); - } - if (obj_no < 0 || obj_no >= num_input_objects) { - fprintf (stderr, "\nTrying to read nonexistent object\n"); - return NULL; - } - if (!xref_table[obj_no].used) { - fprintf (stderr, "\nTrying to read deleted object\n"); - return NULL; - } - if (debug) { - fprintf (stderr, "\nobj@%lu\n", xref_table[obj_no].position); - } - seek_absolute (pdf_input_file, start_pos = - xref_table[obj_no].position); - end_pos = next_object (obj_no); - if (debug) { - fprintf (stderr, "\nendobj@%lu\n", end_pos); - } - buffer = NEW (end_pos - start_pos+1, char); - fread (buffer, sizeof(char), end_pos-start_pos, pdf_input_file); - buffer[end_pos-start_pos] = 0; - if (debug) { - fprintf (stderr, "\nobject:\n%s", buffer); - } - parse_pointer = buffer; - end = buffer+(end_pos-start_pos); - skip_white (&parse_pointer, end); - number = parse_number (&parse_pointer, end); - if ((int) atof(number) != obj_no) { - fprintf (stderr, "Object number doesn't match\n"); - RELEASE (buffer); - return NULL; - } - if (number != NULL) - RELEASE(number); - skip_white (&parse_pointer, end); - number = parse_number (&parse_pointer, end); - if (number != NULL) - RELEASE(number); - skip_white(&parse_pointer, end); - if (strncmp(parse_pointer, "obj", strlen("obj"))) { - fprintf (stderr, "Didn't find \"obj\"\n"); - RELEASE (buffer); - return (NULL); - } - parse_pointer += strlen("obj"); - result = parse_pdf_object (&parse_pointer, end); - skip_white (&parse_pointer, end); - if (strncmp(parse_pointer, "endobj", strlen("endobj"))) { - fprintf (stderr, "Didn't find \"endobj\"\n"); - if (result != NULL) - pdf_release_obj (result); - result = NULL; - } - RELEASE (buffer); - return (result); -#ifdef MEM_DEBUG -MEM_END -#endif -} -/* pdf_deref_obj always returns a link instead of the original */ -pdf_obj *pdf_deref_obj (pdf_obj *obj) -{ - pdf_obj *result, *tmp; - pdf_indirect *indirect; - if (obj == NULL) - return NULL; - if (obj -> type != PDF_INDIRECT) { - return pdf_link_obj (obj); - } - indirect = obj -> data; - if (!(indirect -> dirty)) { - ERROR ("Tried to deref a non-file object"); - } - result = pdf_read_object (indirect -> label); - - if (debug){ - fprintf (stderr, "\npdf_deref_obj: read_object returned\n"); - pdf_write_obj (stderr, result); - } - - while (result && result -> type == PDF_INDIRECT) { - tmp = pdf_read_object (result -> label); - pdf_release_obj (result); - result = tmp; - } - return result; -} - -/* extends the xref table if we get another segment - with higher object numbers than the current object */ -static void extend_xref (long new_size) -{ - unsigned long i; - xref_table = RENEW (xref_table, new_size, - struct object); - for (i=num_input_objects; i<new_size; i++) { - xref_table[i].direct = NULL; - xref_table[i].indirect = NULL; - xref_table[i].used = 0; - xref_table[i].position = 0; - } - num_input_objects = new_size; -} - - - -static int parse_xref (void) -{ - unsigned long first_obj, num_table_objects; - unsigned long i; - /* This routine reads one xref segment. It must be called - positioned at the beginning of an xref table. It may be called - multiple times on the same file. xref tables sometimes come in - pieces */ - mfgets (work_buffer, WORK_BUFFER_SIZE, pdf_input_file); - if (strncmp (work_buffer, "xref", strlen("xref"))) { - fprintf (stderr, "No xref. Are you sure this is a PDF file?\n"); - return 0; - } - /* Next line in file has first item and size of table */ - for (;;) { - unsigned long current_pos; - current_pos = tell_position (pdf_input_file); - if (mfgets (work_buffer, WORK_BUFFER_SIZE, pdf_input_file) == - NULL) - ERROR ("parse_xref: premature end of PDF file while parsing xref"); - if (!strncmp (work_buffer, "trailer", strlen ("trailer"))) { - /* Backup... This is ugly, but it seems like the safest thing to - do. It is possible the trailer dictionary starts on the same - logical line as the word trailer. In that case, the mfgets - call might have started to read the trailer dictionary and - parse_trailer would fail */ - seek_absolute (pdf_input_file, current_pos); - break; - } - sscanf (work_buffer, "%lu %lu", &first_obj, &num_table_objects); - if (num_input_objects < first_obj+num_table_objects) { - extend_xref (first_obj+num_table_objects); - } - if (debug) { - fprintf (stderr, "\nfirstobj=%lu,number=%lu\n", - first_obj,num_table_objects); - } - for (i=first_obj; i<first_obj+num_table_objects; i++) { - fread (work_buffer, sizeof(char), 20, pdf_input_file); - /* Don't overwrite positions that have already been set by a - modified xref table. We are working our way backwards - through the reference table, so we only set "position" - if it hasn't been set yet. */ - if (xref_table[i].position == 0) { - work_buffer[19] = 0; - sscanf (work_buffer, "%lu %u", &(xref_table[i].position), - &(xref_table[i].generation)); - } - if (debug) { - fprintf (stderr, "pos: %lu gen: %u\n", xref_table[i].position, - xref_table[i].generation); - } - if (work_buffer[17] != 'n' && work_buffer[17] != 'f') { - fprintf (stderr, "PDF file is corrupt\n"); - fprintf (stderr, "[%s]\n", work_buffer); - return 0; - } - if (work_buffer[17] == 'n') - xref_table[i].used = 1; - else - xref_table[i].used = 0; - xref_table[i].direct = NULL; - xref_table[i].indirect = NULL; - } - } - return 1; -} - -pdf_obj *read_xref (void) -{ - pdf_obj *main_trailer, *prev_trailer, *prev_xref, *xref_size; - long xref_pos; -#ifdef MEM_DEBUG -MEM_START -#endif - if ((xref_pos = find_xref()) == 0) { - fprintf (stderr, "Can't find xref table.\n"); - return NULL; - } - if (debug) { - fprintf(stderr, "xref@%lu\n", xref_pos); - } - /* Read primary xref table */ - seek_absolute (pdf_input_file, xref_pos); - if (!parse_xref()) { - fprintf (stderr, - "\nCouldn't read xref table. Is this a correct PDF file?\n"); - return NULL; - } - if ((main_trailer = parse_trailer()) == NULL) { - fprintf (stderr, - "\nCouldn't read xref trailer. Is this a correct PDF file?\n"); - return NULL; - } - if (pdf_lookup_dict (main_trailer, "Root") == NULL || - (xref_size = pdf_lookup_dict (main_trailer, "Size")) == NULL) { - fprintf (stderr, - "\nTrailer doesn't have catalog or a size. Is this a correct PDF file?\n"); - return NULL; - } - if (num_input_objects < pdf_number_value (xref_size)) { - extend_xref (pdf_number_value (xref_size)); - } - /* Read any additional xref tables */ - prev_trailer = pdf_link_obj (main_trailer); - while ((prev_xref = pdf_lookup_dict (prev_trailer, "Prev")) != NULL) { - xref_pos = pdf_number_value (prev_xref); - seek_absolute (pdf_input_file, xref_pos); - pdf_release_obj (prev_trailer); - if (!parse_xref()) { - fprintf (stderr, - "\nCouldn't read xref table. Is this a correct PDF file?\n"); - return NULL; - } - if ((prev_trailer = parse_trailer()) == NULL) { - fprintf (stderr, - "\nCouldn't read xref trailer. Is this a correct PDF file?\n"); - return NULL; - } - if (debug) { - fprintf (stderr, "\nprev_trailer:\n"); - pdf_write_obj (stderr, prev_trailer); - } - } -#ifdef MEM_DEBUG -MEM_END -#endif - pdf_release_obj (prev_trailer); - return main_trailer; -} - -static char any_open = 0; - -pdf_obj *pdf_open (FILE *file) -{ - pdf_obj *trailer; -#ifdef MEM_DEBUG -MEM_START -#endif - if (any_open) { - fprintf (stderr, "\nOnly one PDF file may be open at one time.\n"); - any_open = 1; - exit(1); - } - pdf_input_file = file; - if (!check_for_pdf (pdf_input_file)) { - fprintf (stderr, "pdf_open: Not a PDF 1.[1-3] file\n"); - return NULL; - } - if ((trailer = read_xref()) == NULL) { - fprintf (stderr, "No trailer.\n"); - pdf_close (); - return NULL; - } - if (debug) { - fprintf (stderr, "\nDone with xref:\n"); - } -#ifdef MEM_DEBUG - MEM_END -#endif - return trailer; -} - -void pdf_close (void) -{ - /* Following loop must be iterated because each write could trigger - an additional indirect reference of an object with a lower - number! */ - unsigned long i; - int done; - if (debug) { - fprintf (stderr, "\npdf_close:\n"); - fprintf (stderr, "pdf_input_file=%p\n", pdf_input_file); - } - do { - done = 1; - for (i=0; i<num_input_objects; i++) { - if (xref_table[i].direct != NULL) { - pdf_release_obj (xref_table[i].direct); - xref_table[i].direct = NULL; - done = 0; - } - } - } while (!done); - /* Now take care of the indirect objects - They had to be left around until all the direct - objects were flushed */ - for (i=0; i<num_input_objects; i++) { - if (xref_table[i].indirect != NULL) { - pdf_release_obj (xref_table[i].indirect); - } - } - RELEASE (xref_table); - xref_table = NULL; - num_input_objects = 0; - any_open = 0; - pdf_input_file = NULL; - if (debug) { - fprintf (stderr, "\nexiting pdf_close:\n"); - } -} - -int check_for_pdf (FILE *file) -{ - int result = 0; - rewind (file); - if (fread (work_buffer, sizeof(char), strlen("%PDF-1.x"), file) == - strlen("%PDF-1.x") && - !strncmp(work_buffer, "%PDF-1.", strlen("%PDF-1."))) { - if (work_buffer[7] >= '0' && work_buffer[7] <= '0'+pdf_version) - result = 1; - else { - fprintf (stderr, "\nVersion of PDF file (1.%c) is newer than version limit specification.\n", work_buffer[7]); - } - } - return result; -} diff --git a/Build/source/texk/dvipdfm/pdfobj.h b/Build/source/texk/dvipdfm/pdfobj.h deleted file mode 100644 index 03b1f55a015..00000000000 --- a/Build/source/texk/dvipdfm/pdfobj.h +++ /dev/null @@ -1,187 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PDFOBJ_H -#define PDFOBJ_H -#include <stdio.h> - -/* Here is the complete list of PDF object types */ - -#define PDF_BOOLEAN 1u -#define PDF_NUMBER 2u -#define PDF_STRING 3u -#define PDF_NAME 4u -#define PDF_ARRAY 5u -#define PDF_DICT 6u -#define PDF_STREAM 7u -#define PDF_NULL 8u -#define PDF_INDIRECT 9u - -typedef unsigned char pdf_obj_type; - -/* Any of these types can be represented as follows */ - -struct pdf_obj -{ - pdf_obj_type type; - void *data; - unsigned long label; /* Only used for indirect objects - all other "label" to zero */ - unsigned generation; /* Only used if "label" is used */ - unsigned refcount; /* Number of links to this object */ -}; -typedef struct pdf_obj pdf_obj; - -struct pdf_boolean -{ - char value; -}; -typedef struct pdf_boolean pdf_boolean; - - -struct pdf_number -{ - double value; -}; -typedef struct pdf_number pdf_number; - -struct pdf_string -{ - unsigned char *string; - unsigned length; -}; -typedef struct pdf_string pdf_string; - - -struct pdf_name -{ - char *name; -}; -typedef struct pdf_name pdf_name; - - -struct pdf_array -{ - unsigned long max, size; - pdf_obj **values; -}; -typedef struct pdf_array pdf_array; - -struct pdf_dict -{ - pdf_obj *key; - pdf_obj *value; - struct pdf_dict *next; -}; -typedef struct pdf_dict pdf_dict; - -struct pdf_stream -{ - struct pdf_obj *dict; - char *stream; /* Actual stream contents stored in "stream" */ - unsigned long stream_length; - unsigned long max_length; - unsigned char _flags; -}; -typedef struct pdf_stream pdf_stream; - -struct pdf_indirect -{ - unsigned label, generation; - int dirty; /* Dirty objects came from an input file and were not - generated by this program. They have a label in a - different numbering sequence. These are translated - when the object is written out */ - FILE *dirty_file; -}; -typedef struct pdf_indirect pdf_indirect; - -/* External interface to pdf routines */ - -extern void pdf_obj_set_verbose(void); -struct pdf_obj *pdf_new_obj (pdf_obj_type type); -extern void pdf_out_init (const char *filename); -extern void pdf_out_flush (void); -extern pdf_obj *pdf_new_obj(pdf_obj_type type); -extern pdf_obj *pdf_link_obj(pdf_obj *object); -extern pdf_obj *pdf_new_null (void); -extern pdf_obj *pdf_new_boolean (char value); -extern void pdf_set_boolean (pdf_obj *object, char value); -extern void pdf_set_info (pdf_obj *object); -extern void pdf_set_root (pdf_obj *object); -extern pdf_obj *pdf_new_number (double value); -extern void pdf_set_number (pdf_obj *object, double value); -extern double pdf_number_value (pdf_obj *number); -extern char *pdf_name_value (pdf_obj *object); -extern pdf_obj *pdf_new_string (const void *string, unsigned length); -extern void pdf_set_string (pdf_obj *object, unsigned char *string, unsigned length); -extern void *pdf_string_value (pdf_obj *object); -extern unsigned int pdf_string_length (pdf_obj *object); -#define pdf_obj_string_value(s) ((void *)(((pdf_string *)((s)->data)) -> string)) -#define pdf_obj_string_length(s) (((pdf_string *)((s)->data)) -> length) - -extern pdf_obj *pdf_new_name (const char *name); /* Name does not include the / */ -extern int pdf_check_name (const char *name); /* Tell whether name is a - valid PDF name */ - -extern pdf_obj *pdf_new_array (void); -extern void pdf_add_array (pdf_obj *array, pdf_obj *object); /* Array is ended - by a node with NULL - this pointer */ -extern pdf_obj *pdf_get_array (pdf_obj *array, unsigned long index); -extern pdf_obj *pdf_new_dict (void); -extern void pdf_add_dict (pdf_obj *dict, pdf_obj *key, pdf_obj *value); /* Array is ended - by a node with NULL - this pointer */ -extern void pdf_merge_dict (pdf_obj *dict1, pdf_obj *dict2); -extern pdf_obj *pdf_lookup_dict (const pdf_obj *dict, const char *name); -extern char *pdf_get_dict (const pdf_obj *dict, int index); - -extern pdf_obj *pdf_new_stream (int flags); -#define STREAM_COMPRESS 1 -extern void pdf_obj_set_compression(int level); -extern void pdf_add_stream (pdf_obj *stream, char *stream_data, unsigned - length); - -extern pdf_obj *pdf_stream_dict(pdf_obj *stream); - -extern void pdf_release_obj (pdf_obj *object); -extern pdf_obj *pdf_deref_obj (pdf_obj *object); -extern pdf_obj *pdf_ref_obj (pdf_obj *object); -extern pdf_obj *pdf_new_ref (unsigned long label, int generation); -extern pdf_obj *pdf_ref_file_obj (unsigned long obj_no); -extern void pdf_write_obj (FILE *file, const pdf_obj *object); -extern pdf_obj *pdf_open (FILE *file); -extern void pdf_close (void); - -extern int pdfobj_escape_str (char *buffer, int size, unsigned char - *s, int len, int remap); -extern int check_for_pdf (FILE *file); -extern void pdf_set_version (unsigned version); -extern pdf_obj *pdf_read_object (unsigned long obj_no); -extern void pdf_error_cleanup(void); - -#endif /* PDFOBJ_H */ - diff --git a/Build/source/texk/dvipdfm/pdfparse.c b/Build/source/texk/dvipdfm/pdfparse.c deleted file mode 100644 index 94654a39a33..00000000000 --- a/Build/source/texk/dvipdfm/pdfparse.c +++ /dev/null @@ -1,692 +0,0 @@ -/* $Header$ - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <string.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "pdfparse.h" -#include "pdfspecial.h" -#include "pdfobj.h" -#include "pdfdoc.h" -#include "pdfdev.h" - -#define verbose 0 -#define debug 0 - -#define DUMP_LIMIT 50 -void dump(char *start, char *end) -{ - char *p = start; - fprintf (stderr, "\nCurrent input buffer is "); - fprintf (stderr, "-->"); - while (p < end && p < start+DUMP_LIMIT) - fprintf (stderr, "%c", *(p++)); - if (p == start+DUMP_LIMIT) - fprintf (stderr, "...\n"); - fprintf (stderr, "<--\n"); -} - -void skip_white (char **start, char *end) -{ - while (*start < end && (isspace (**start) || **start == '%')) { - if (**start == '%') - skip_line (start, end); - else /* Skip the white char */ - (*start)++; - } - return; -} - -void skip_line (char **start, char *end) -{ - /* Note: PDF spec says that all platforms must end line with '\n' - after a "stream" keyword */ - while (*start < end && **start != '\n' && **start != '\r') - (*start)++; - if (*start < end && **start == '\r') - (*start) += 1; - if (*start < end && **start == '\n') - (*start) += 1; - return; -} - -void parse_crap (char **start, char *end) -{ - skip_white(start, end); - if (*start != end) { - fprintf (stderr, "\nCrap left over after object!!\n"); - dump(*start, end); - } -} - -int is_an_int(const char *s) -{ - int i; - for (i=0; i<strlen(s); i++) { - if (i == 0 && s[i] == '-') - continue; - if (!isdigit (s[i])) - return 0; - } - return 1; -} - -int is_a_number(const char *s) -{ - int i, period = 0; - for (i=0; i<strlen(s); i++) { - if (s[i] == '-' && i == 0) - continue; - if (s[i] == '.' && !period) { - period = 1; - continue; - } - if (!isdigit (s[i])) - return 0; - } - return 1; -} - - -pdf_obj *parse_pdf_dict (char **start, char *end) -{ - pdf_obj *result, *tmp1, *tmp2; - char *save = *start; - skip_white(start, end); - if (*((*start)++) != '<' || - *((*start)++) != '<') { - *start = save; - dump (*start, end); - return NULL; - } - result = pdf_new_dict (); - skip_white(start, end); - while (*start < end && - **start != '>') { - if ((tmp1 = parse_pdf_name (start, end)) == NULL) { - pdf_release_obj (result); - { - *start = save; - dump (*start, end); - return NULL; - } - }; - if ((tmp2 = parse_pdf_object (start, end)) == NULL) { - pdf_release_obj (result); - pdf_release_obj (tmp1); - { - *start = save; - dump (*start, end); - return NULL; - } - } - pdf_add_dict (result, tmp1, tmp2); - skip_white(start, end); - } - if (*start >= end) { - pdf_release_obj (result); - *start = save; - dump (*start, end); - return NULL; - } - if (*((*start)++) == '>' && - *((*start)++) == '>') { - return result; - } else { - pdf_release_obj (result); - fprintf (stderr, "\nDictionary object ended prematurely\n"); - *start = save; - dump (*start, end); - return NULL; - } -} - -pdf_obj *parse_pdf_array (char **start, char *end) -{ - pdf_obj *result, *tmp1; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white(start, end); - if (*((*start)++) != '[') - return NULL; - result = pdf_new_array (); - skip_white(start, end); - while (*start < end && - **start != ']') { - if ((tmp1 = parse_pdf_object (start, end)) == NULL) { - pdf_release_obj (result); - return NULL; - }; - pdf_add_array (result, tmp1); - skip_white(start, end); - } - if (*start >= end) { - pdf_release_obj (result); - fprintf (stderr, "\nArray ended prematurely\n"); - return NULL; - } - (*start)++; -#ifdef MEM_DEBUG -MEM_END -#endif - return result; -} - -char *parse_number (char **start, char *end) -{ - char *number, *save; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white(start, end); - save = *start; - if (*start < end && (**start == '+' || **start == '-')) { - *start += 1; - } - while (*start < end && - isdigit(**start)) - (*start)++; - if (*start < end && **start == '.') { - (*start)++; - while (*start < end && - isdigit(**start)) - (*start)++; - } - if (*start > save) { - number = NEW ((*start-save)+1, char); - memcpy (number, save, (*start-save)); - number[*start-save] = 0; - return number; - } - *start = save; -#ifdef MEM_DEBUG -MEM_END -#endif - return NULL; -} - -char *parse_unsigned (char **start, char *end) -{ - char *number, *save; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white(start, end); - save = *start; - while (*start < end && - isdigit(**start)) - (*start)++; - if (*start > save) { - number = NEW ((*start-save)+1, char); - memcpy (number, save, (*start-save)); - number[*start-save] = 0; - return number; - } - *start = save; -#ifdef MEM_DEBUG -MEM_END -#endif - return NULL; -} - -static char *parse_gen_ident (char **start, char *end, char *valid_chars) -{ - char *ident, *save; - save = *start; - skip_white(start, end); - while (*start < end && strchr (valid_chars, **start)) - (*start)++; - if (save == *start) - return NULL; - ident = NEW (*start-save+1, char); - memcpy (ident, save, *start-save); - ident[*start-save] = 0; - return ident; -} - -char *parse_ident (char **start, char *end) -{ - static char *valid_chars = - "!\"#$&'*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~"; - return parse_gen_ident (start, end, valid_chars); -} - -char *parse_val_ident (char **start, char *end) -{ - static char *valid_chars = - "!\"#$&'*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~"; - return parse_gen_ident (start, end, valid_chars); -} - -char *parse_c_ident (char **start, char *end) -{ - static char *valid_chars = - "0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; - return parse_gen_ident (start, end, valid_chars); -} - -char *parse_opt_ident(char **start, char *end) -{ - if (*start >= end || (**start) != '@') - return NULL; - (*start)++; - return parse_ident(start, end); -} - - -pdf_obj *parse_pdf_name (char **start, char *end) -{ - pdf_obj *result; - char *name; - skip_white(start, end); - if (**start != '/') { - fprintf (stderr, "\nPDF Name expected and not found.\n"); - dump(*start, end); - return NULL; - } - (*start)++; - if ((name = parse_ident(start, end)) != NULL) { - result = pdf_new_name (name); - RELEASE (name); - return result; - } - return NULL; -} - -char *parse_pdf_reference(char **start, char *end) -{ - skip_white (start, end); - if (**start != '@') { - fprintf (stderr, "\nPDF Name expected and not found.\n"); - dump(*start, end); - return NULL; - } - (*start)++; - return parse_ident(start, end); -} - -pdf_obj *parse_pdf_boolean (char **start, char *end) -{ - skip_white (start, end); - if (end-*start > strlen ("true") && - !strncmp (*start, "true", strlen("true"))) { - *start += strlen("true"); - return pdf_new_boolean (1); - } - if (end - *start > strlen ("false") && - !strncmp (*start, "false", strlen("false"))) { - *start += strlen("false"); - return pdf_new_boolean (0); - } - return NULL; -} - -pdf_obj *parse_pdf_null (char **start, char *end) -{ - char *save = *start; - char *ident; - skip_white (start, end); - ident = parse_ident(start, end); - if (!strcmp (ident, "null")) { - RELEASE(ident); - return pdf_new_null(); - } - *start = save; - fprintf (stderr, "\nNot a valid object\n"); - dump(*start, end); - return NULL; -} - -static pdf_obj *parse_pdf_number (char **start, char *end) -{ - char *number; - pdf_obj *result; - skip_white(start, end); - if ((number = parse_number(start, end)) != NULL) { - result = pdf_new_number (atof(number)); - RELEASE (number); - return result; - } - return NULL; -} - -int xtod (char c) -{ - if (c >= '0' && c <= '9') - return c-'0'; - if (c >= 'A' && c <= 'F') - return (c-'A')+10; - if (c >= 'a' && c <= 'f') - return (c-'a')+10; - return 0; -} - -pdf_obj *parse_pdf_hex_string (char **start, char *end) -{ - pdf_obj *result; - char *save; - unsigned char *string = NULL; - int strlength; - skip_white (start, end); - if (*start == end || *((*start)++) != '<') - return NULL; - save = *start; - string = NEW ((end - *start)/2+2, unsigned char); /* A little excess here */ - strlength = 0; - while (*start < end && **start != '>') { - string[strlength] = xtod(**start) * 16; - (*start) += 1; - if (*start < end && **start != '>') { - string[strlength] += xtod(**start); - (*start) += 1; - } - skip_white (start, end); - strlength += 1; - } - if (*start < end) { - *start += 1; - result = pdf_new_string (string, strlength); - } else { - result = NULL; - } - if (string) - RELEASE(string); - return result; -} - -pdf_obj *parse_pdf_string (char **start, char *end) -{ - pdf_obj *result; - int balance = 0; - char *save; - unsigned char *string; - int strlength; - skip_white(start, end); - save = *start; - if (*start == end || **start != '(') { - return NULL; - } - ++(*start); - string = NEW (end - *start, unsigned char); - strlength = 0; - balance = 0; - while (*start < end && - (**start != ')' || balance > 0)) { - if (**start == '\\') - switch (*(++(*start))) { - case 'n': - string[strlength++] = '\n'; - (*start)++; - break; - case 'r': - string[strlength++] = '\r'; - (*start)++; - break; - case 't': - string[strlength++] = '\t'; - (*start)++; - break; - case 'b': - string[strlength++] = '\b'; - (*start)++; - break; - default: - if (isdigit(**start)) { - int i; - string[strlength] = 0; - for (i=0; i<3; i++) - string[strlength] = string[strlength]*8 + (*((*start)++)-'0'); - strlength+= 1; - } else { - string[strlength++] = *((*start)++); - } - } - else { - if (**start == '(') - balance += 1; - if (**start == ')') - balance -= 1; - string[strlength++] = *((*start)++); - } - } - if (*start >= end) { - fprintf (stderr, "\nString object ended prematurely\n"); - dump (save, *start); - return NULL; - } - (*start)++; - result = pdf_new_string (string, strlength); - RELEASE (string); - return result; -} - -char *parse_c_string (char **start, char *end) -{ - char *string, *save; - int strlength; - skip_white(start, end); - save = *start; - if (*start == end || **start != '"') { - return NULL; - } - ++(*start); - string = NEW (end - *start, char); - strlength = 0; - while (*start < end && (**start != '"')) { - if (**start == '\\') - switch (*(++(*start))) { - case '"': - string[strlength++] = '"'; - (*start)++; - break; - case 'n': - string[strlength++] = '\n'; - (*start)++; - break; - case 'r': - string[strlength++] = '\r'; - (*start)++; - break; - case 't': - string[strlength++] = '\t'; - (*start)++; - break; - case 'b': - string[strlength++] = '\b'; - (*start)++; - break; - default: - if (isdigit(**start)) { - int i; - string[strlength] = 0; - for (i=0; i<3; i++) - string[strlength] = string[strlength]*8 + (*((*start)++)-'0'); - strlength+= 1; - } else { - string[strlength++] = *((*start)++); - } - } - else { - string[strlength++] = *((*start)++); - } - string[strlength]=0; - } - if (*start >= end) { - fprintf (stderr, "\nString ended prematurely\n"); - dump (save, *start); - return NULL; - } - string[strlength] = 0; - (*start)++; - return string; -} - -static pdf_obj *parse_pdf_stream (char **start, char *end, pdf_obj - *dict) -{ - pdf_obj *result, *new_dict, *tmp1, *length_obj; - unsigned long length; - if (pdf_lookup_dict(dict, "F")) { - fprintf (stderr, "File streams not implemented (yet)"); - return NULL; - } - if ((tmp1 = pdf_lookup_dict(dict, "Length")) == NULL) { - fprintf (stderr, "No length specified"); - return NULL; - } - length = pdf_number_value (length_obj = pdf_deref_obj (tmp1)); - pdf_release_obj (length_obj); - skip_white(start, end); - skip_line(start, end); - result = pdf_new_stream(0); - new_dict = pdf_stream_dict(result); - pdf_merge_dict (new_dict, dict); - pdf_release_obj (dict); - pdf_add_stream (result, *start, length); - *start += length; - skip_white(start, end); - if (*start+strlen("endstream") > end || - strncmp(*start, "endstream", strlen("endstream"))) { - fprintf (stderr, "\nendstream not found\n"); - return NULL; - } - *start += strlen("endstream"); - return result; -} - -pdf_obj *parse_pdf_object (char **start, char *end) -{ - pdf_obj *result, *tmp1=NULL, *tmp2=NULL; - char *save = *start; - char *position2; - skip_white(start, end); - if (*start >= end) - return NULL; - switch (**start) { - case '<': - /* Check for those troublesome strings starting with '<' */ - if (*start+1 < end && *(*start+1) != '<') { - result = parse_pdf_hex_string (start, end); - break; - } - result = parse_pdf_dict (start, end); - skip_white(start, end); - if (end - *start > strlen("stream") && - !strncmp(*start, "stream", strlen("stream"))) { - result = parse_pdf_stream (start, end, result); - } - /* Check for stream */ - break; - case '(': - result = parse_pdf_string(start, end); - break; - case '[': - result = parse_pdf_array(start, end); - break; - case '/': - result = parse_pdf_name(start, end); - break; - case '@': - result = get_reference(start, end); - break; - case 't': - case 'f': - result = parse_pdf_boolean(start, end); - break; - default: - /* This is a bit of a hack, but PDF doesn't easily allow you to - tell a number from an indirect object reference with some - serious looking ahead */ - - if (*start < end && - (isdigit(**start) || **start == '+' || **start == '-' || **start == '.')) { - tmp1 = parse_pdf_number(start, end); - tmp2 = NULL; - /* This could be a # # R type reference. We can't be sure unless - we look ahead for the second number and the 'R' */ - skip_white(start, end); - position2 = *start; - if (*start < end && isdigit(**start)) { - tmp2 = parse_pdf_number(start, end); - } else - tmp2 = NULL; - skip_white(start, end); - if (tmp1 != NULL && tmp2 != NULL && *start < end && *((*start)++) == 'R') { - result = pdf_new_ref ((unsigned long) pdf_number_value (tmp1), - (int) pdf_number_value (tmp2)); - pdf_release_obj (tmp1); - pdf_release_obj (tmp2); - break; - } - /* Following checks if we got two numbers, but not 'r' */ - if (tmp1 != NULL && tmp2 != NULL) { - pdf_release_obj (tmp2); - *start = position2; - } - result = tmp1; - break; - } - if (*start < end && **start == 'n') { - result = parse_pdf_null(start, end); - break; - } - result = NULL; - break; - } - if (result == NULL) { - fprintf (stderr, "\nExpecting an object, but didn't find one"); - *start = save; - dump(*start, end); - } - return result; -} - -void parse_key_val (char **start, char *end, char **key, char **val) -{ - *key = NULL; - *val = NULL; - skip_white (start, end); - if ((*key = parse_c_ident (start, end))) { - skip_white (start, end); - if (*start < end && **start == '=') - { - (*start) += 1; - skip_white (start, end); - if (*start < end) switch (**start) { - case '"': - *val = parse_c_string (start, end); - break; - default: - *val = parse_val_ident (start, end); - } - } - } -} diff --git a/Build/source/texk/dvipdfm/pdfparse.h b/Build/source/texk/dvipdfm/pdfparse.h deleted file mode 100644 index 83e8abafc3f..00000000000 --- a/Build/source/texk/dvipdfm/pdfparse.h +++ /dev/null @@ -1,81 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -/* - This is dvipdf, a DVI to PDF translator. - Copyright (C) 1998 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PDFPARSE_H - -#define PDFPARSE_H -#include "numbers.h" -#include "pdfobj.h" - -extern int is_an_int(const char *s); -extern int is_a_number(const char *s); -extern char *parse_ident (char **start, char *end); -extern char *parse_val_ident (char **start, char *end); -extern char *parse_c_ident (char **start, char *end); -extern char *parse_number (char **start, char*end); -extern char *parse_unsigned (char **start, char*end); -extern void parse_crap (char **start, char *end); -extern void skip_white (char **start, char *end); -extern void skip_line (char **start, char *end); - -extern char *parse_c_string (char **start, char*end); -extern pdf_obj *parse_pdf_string (char **start, char*end); -extern pdf_obj *parse_pdf_name (char **start, char*end); -extern pdf_obj *parse_pdf_array (char **start, char*end); -extern pdf_obj *parse_pdf_object (char **start, char*end); -extern pdf_obj *parse_pdf_dict (char **start, char*end); -extern pdf_obj *parse_pdf_boolean (char **start, char*end); -extern pdf_obj *parse_pdf_null (char **start, char*end); -extern char *parse_pdf_reference (char **start, char*end); -extern char *parse_opt_ident (char **start, char*end); - -extern void parse_key_val (char **start, char *end, char **key, char **val); -extern void dump (char *start, char *end); - -#endif /* PDFPARSE_H */ diff --git a/Build/source/texk/dvipdfm/pdfspecial.c b/Build/source/texk/dvipdfm/pdfspecial.c deleted file mode 100644 index 98c9c3a500f..00000000000 --- a/Build/source/texk/dvipdfm/pdfspecial.c +++ /dev/null @@ -1,1856 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <math.h> -#include <string.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "numbers.h" -#include "dvi.h" -#include "pdflimits.h" -#include "pdfspecial.h" -#include "pdfobj.h" -#include "pdfdoc.h" -#include "pdfdev.h" -#include "pdfparse.h" -#include "jpeg.h" -#include "epdf.h" -#include "mpost.h" -#include "psimage.h" - -#include "config.h" - -#ifdef HAVE_LIBPNG -#include <png.h> -#include "pngimage.h" -#endif /* HAVE_LIBPNG */ - -#define verbose 0 -#define debug 0 - -static void add_reference (char *name, pdf_obj *object, char *res_name); -static void release_reference (char *name); -static pdf_obj *lookup_reference(char *name); -static char *lookup_ref_res_name (char *name); -static pdf_obj *lookup_object(char *name); -static void do_content (char **start, char *end, double x_user, double - y_user); -static void do_image(char **start, char *end, double x_user, double y_user); -static pdf_obj *jpeg_start_image (FILE *file); -static void finish_image (pdf_obj *image_res, struct xform_info *p, - char *res_name); -static void do_bxobj (char **start, char *end, - double x_user, double y_user); -static void do_exobj (void); -static void do_uxobj (char **start, char *end, double x_user, double - y_user); - -static char ignore_colors = 0; -static double annot_grow = 0.0; - -void pdf_special_set_grow (double g) -{ - annot_grow = g; -} -double pdf_special_tell_grow (void) -{ - return annot_grow; -} - -void pdf_special_ignore_colors(void) -{ - ignore_colors = 1; -} - -static void do_bop(char **start, char *end) -{ -#ifdef MEM_DEBUG - MEM_START -#endif - if (*start < end) - pdf_doc_bop (*start, end - *start); - *start = end; -#ifdef MEM_DEBUG - MEM_END -#endif - return; -} - -static void do_eop(char **start, char *end) -{ -#ifdef MEM_DEBUG - MEM_START -#endif - if (*start < end) - pdf_doc_eop (*start, end - *start); - *start = end; -#ifdef MEM_DEBUG - MEM_END -#endif -} - -pdf_obj *get_reference(char **start, char *end) -{ - char *name, *save = *start; - pdf_obj *result = NULL; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white (start, end); - if ((name = parse_pdf_reference(start, end)) != NULL) { - if ((result = lookup_reference (name)) == NULL) { - fprintf (stderr, "\nNamed reference (@%s) doesn't exist.\n", name); - *start = save; - dump(*start, end); - } - RELEASE (name); - } -#ifdef MEM_DEBUG -MEM_END -#endif - return result; -} - -pdf_obj *get_reference_lvalue(char **start, char *end) -{ - char *name, *save = *start; - pdf_obj *result = NULL; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white (start, end); - if ((name = parse_pdf_reference(start, end)) != NULL) { - result = lookup_object (name); - if (result == NULL) { - fprintf (stderr, "\nNamed object (@%s) doesn't exist.\n", name); - *start = save; - dump(*start, end); - } - RELEASE (name); - } -#ifdef MEM_DEBUG -MEM_END -#endif - return result; -} - -static void do_put(char **start, char *end) -{ - pdf_obj *result = NULL, *data = NULL; - char *save = *start; - skip_white(start, end); - if ((result = get_reference_lvalue(start, end)) != NULL) { - skip_white (start, end); - save = *start; - switch (result -> type) { - case PDF_DICT: - if ((data = parse_pdf_dict (start, end)) != NULL && - data -> type == PDF_DICT) { - pdf_merge_dict (result, data); - } else{ - fprintf (stderr, "\nSpecial put: Expecting a dictionary\n"); - *start = save; - dump(*start, end); - } - if (data != NULL) - pdf_release_obj (data); - break; - case PDF_ARRAY: - while (*start < end && - (data = parse_pdf_object (start, end)) != NULL) { - pdf_add_array (result, data); - skip_white(start, end); - } - if (*start < end) { - fprintf (stderr, "\nSpecial: put: invalid object. Rest of line ignored.\n"); - *start = save; - dump(*start, end); - } - break; - default: - fprintf (stderr, "\nSpecial put: Invalid destination object type\n"); - break; - } - } - else { - fprintf (stderr, "\nSpecial put: Nonexistent object reference\n"); - } - return; -} - -/* The following must be consecutive and - starting at 0. Order must match - dimensions array below */ - -#define WIDTH 0 -#define HEIGHT 1 -#define DEPTH 2 -#define SCALE 3 -#define XSCALE 4 -#define YSCALE 5 -#define ROTATE 6 -#define BBOX 7 - -struct { - char *s; - int key; - int hasunits; -} dimensions[] = { - {"width", WIDTH, 1}, - {"height", HEIGHT, 1}, - {"depth", DEPTH, 1}, - {"scale", SCALE, 0}, - {"xscale", XSCALE, 0}, - {"yscale", YSCALE, 0}, - {"rotate", ROTATE, 0}, - {"bbox", BBOX, 0} -}; - -struct xform_info *new_xform_info (void) -{ - struct xform_info *result; - result = NEW (1, struct xform_info); - result -> width = 0.0; - result -> height = 0.0; - result -> depth = 0.0; - result -> scale = 0.0; - result -> xscale = 0.0; - result -> yscale = 0.0; - result -> rotate = 0.0; - result -> user_bbox = 0; - result -> clip = 0; - /* These next two must be initialized be cause - they represent the reference point even - if the user doesn't specify one. We must - have a reference point */ - result -> u_llx = 0.0; - result -> u_lly = 0.0; - return result; -} - -void release_xform_info (struct xform_info *p) -{ - RELEASE (p); - return; -} - -int validate_image_xform_info (struct xform_info *p) -{ - int result = 1; - if (p->width != 0.0) - if (p->scale !=0.0 || p->xscale != 0.0) { - fprintf (stderr, "\nCan't supply both width and scale\n"); - result = 0; - } - if (p->height != 0.0) - if (p->scale !=0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nCan't supply both height and scale\n"); - result = 0; - } - if (p->scale != 0.0) - if (p->xscale != 0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nCan't supply overall scale along with axis scales"); - result = 0; - } - return result; -} - -static int parse_one_dim_word (char **start, char *end) -{ - int i; - char *dimension_string; - char *save = *start; - int result = -1; - skip_white(start, end); - if ((dimension_string = parse_ident(start, end)) != NULL) { - for (i=0; i<sizeof(dimensions)/sizeof(dimensions[0]); i++) { - if (!strcmp (dimensions[i].s, dimension_string)) - break; - } - if (i != sizeof(dimensions)/sizeof(dimensions[0])) { - result = dimensions[i].key; - } else { - fprintf (stderr, "\n%s: Invalid keyword\n", dimension_string); - } - RELEASE (dimension_string); - } - if (result < 0) { - *start = save; - fprintf (stderr, "\nExpecting a keyword here, e.g., height, width, etc.\n"); - dump(*start, end); - } - return result; -} - -struct { - char *s; - double units; - int is_true_unit; -} units[] = { - {"pt", (72.0/72.27), 0}, - {"in", (72.0), 0}, - {"cm", (72.0/2.54), 0}, - {"mm", (72.0/25.4), 0}, - {"truept", (72.0/72.27), 1}, - {"truein", (72.0), 1}, - {"truecm", (72.0/2.54), 1}, - {"truemm", (72.0/25.4), 1} -}; - -double parse_one_unit (char **start, char *end) -{ - int i; - char *unit_string = NULL, *save = *start; - double result = -1.0; - int errors = 0; - skip_white(start, end); - if ((unit_string = parse_c_ident(start, end)) != NULL) { - for (i=0; i<sizeof(units)/sizeof(units[0]); i++) { - if (!strcmp (units[i].s, unit_string)) - break; - } - if (i == sizeof(units)/sizeof(units[0])) { - fprintf (stderr, - "\n%s: Invalid unit of measurement (should be in, cm, pt, etc.)\n", unit_string); - errors = 1; - } - if (i != sizeof(units)/sizeof(units[0]) && !units[i].is_true_unit) - result = units[i].units; - /* If these are "true" units, we must pre-shrink since the entire - document is magnified */ - if (i != sizeof(units)/sizeof(units[0]) && units[i].is_true_unit) - result = units[i].units/dvi_tell_mag(); - RELEASE (unit_string); - } - if (!unit_string || errors) { - fprintf (stderr, "\nExpecting a unit here (e.g., in, cm, pt)\n"); - *start = save; - dump(*start, end); - } - return result; -} - -static int parse_dimension (char **start, char *end, - struct xform_info *p) -{ - char *number_string = NULL; - char *save = NULL; - double units = -1.0; - int key, error = 0; - skip_white(start, end); - while (*start < end && isalpha (**start)) { - save = *start; - if ((key = parse_one_dim_word(start, end)) >= 0) { - skip_white(start, end); - } else { - fprintf (stderr, - "\nExpecting a dimension/transformation keyword (e.g., width, height) here:\n"); - error = 1; - break; - } - if (key != BBOX) { /* BBOX is handled somewhat differently than - all the others */ - number_string = parse_number(start, end); - if (key >= 0 && number_string == NULL) { - fprintf (stderr, "Expecting a number following dimension/transformation keyword\n"); - error = 1; - break; - } - /* If we got a key and a number, see if we need a dimension also */ - if (key >= 0 && number_string != NULL && dimensions[key].hasunits) { - skip_white(start, end); - if ((units = parse_one_unit(start, end)) < 0.0) { - fprintf (stderr, "\nExpecting a dimension unit\n"); - error = 1; - } - } - if (!error && key >= 0 && number_string != NULL) { - switch (key) { - case WIDTH: - if (p->width != 0.0) - fprintf (stderr, "\nDuplicate width specified: %s\n", number_string); - p->width = atof (number_string)*units; - break; - case HEIGHT: - if (p->height != 0.0) - fprintf (stderr, "\nDuplicate height specified: %s\n", number_string); - p->height = atof (number_string)*units; - break; - case DEPTH: - if (p->depth != 0.0) - fprintf (stderr, "\nDuplicate depth specified: %s\n", number_string); - p->depth = atof (number_string)*units; - break; - case SCALE: - if (p->scale != 0.0) - fprintf (stderr, "\nDuplicate depth specified: %s\n", number_string); - p->scale = atof (number_string); - break; - case XSCALE: - if (p->xscale != 0.0) - fprintf (stderr, "\nDuplicate xscale specified: %s\n", number_string); - p->xscale = atof (number_string); - break; - case YSCALE: - if (p->yscale != 0.0) - fprintf (stderr, "\nDuplicate yscale specified: %s\n", number_string); - p->yscale = atof (number_string); - break; - case ROTATE: - if (p->rotate != 0) - fprintf (stderr, "\nDuplicate rotation specified: %s\n", number_string); - p->rotate = atof (number_string) * M_PI / 180.0; - break; - default: - ERROR ("parse_dimension: Invalid key"); - } - if (number_string != NULL) { - RELEASE (number_string); - number_string = NULL; - } - } - } else { /* BBox case handled here */ - char *llx = NULL, *lly = NULL, *urx = NULL, *ury = NULL; - if ((llx = parse_number (start, end)) && - (lly = parse_number (start, end)) && - (urx = parse_number (start, end)) && - (ury = parse_number (start, end))) { - p->u_llx = atof (llx); - p->u_lly = atof (lly); - p->u_urx = atof (urx); - p->u_ury = atof (ury); - p->user_bbox = 1; /* Flag to indicate that user specified a bbox */ - } else { - fprintf (stderr, "\nExpecting four numbers following \"bbox\" specification.\n"); - error = 1; /* Flag error, but don't break until we get a - chance to free structures */ - } - if (llx) RELEASE (llx); - if (lly) RELEASE (lly); - if (urx) RELEASE (urx); - if (ury) RELEASE (ury); - if (error) break; - } - skip_white(start, end); - } - if (error && save) - dump (save, end); - return !error; -} - -static void do_pagesize(char **start, char *end) -{ - struct xform_info *p; - int error = 0; - p = new_xform_info(); - skip_white(start, end); - if (parse_dimension(start, end, p)) { - if (p->scale != 0.0 || p->xscale != 0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nScale meaningless for pagesize\n"); - error = 1; - } - if (p->width == 0.0 || p->depth + p->height == 0.0) { - fprintf (stderr, "\nPage cannot have a zero dimension\n"); - error = 1; - } - } else { - fprintf (stderr, "\nSpecial: pagesize: Failed to find a valid set of dimensions\n"); - dump (*start, end); - error = 1; - } - if (!error) - /* Since these are physical dimensions, they need to be scaled by - mag. "Virtual" dimensions are scaled by a transformation - matrix. Physical dimensions (e.g, page size and annotations) - cannot */ - dev_set_page_size (dvi_tell_mag()*p->width, dvi_tell_mag()*(p->depth + p->height)); - release_xform_info (p); - return; -} - - -static void do_ann(char **start, char *end) -{ - pdf_obj *result = NULL, *rectangle = NULL; - char *name = NULL; - int error = 0; - struct xform_info *p; -#ifdef MEM_DEBUG -MEM_START -#endif - p = new_xform_info(); - skip_white(start, end); - name = parse_opt_ident(start, end); - skip_white(start, end); - if (parse_dimension(start, end, p)) { - if (p->scale != 0.0 || p->xscale != 0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nScale meaningless for annotations\n"); - error = 1; - } - if (p->width == 0.0 || p->depth + p->height == 0.0) { - fprintf (stderr, "Special ann: Rectangle has a zero dimension\n"); - fprintf (stderr, "Special ann: Annotations require both horizontal and vertical dimensions\n"); - error = 1; - } - } - if (!error && (result = parse_pdf_dict(start, end)) != NULL) { - rectangle = pdf_new_array(); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_x()-annot_grow,0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_y()-dvi_tell_mag()*p->depth-annot_grow,0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_x()+dvi_tell_mag()*p->width+annot_grow,0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_y()+dvi_tell_mag()*p->height+annot_grow,0.01))); - pdf_add_dict (result, pdf_new_name ("Rect"), - rectangle); - pdf_doc_add_to_page_annots (pdf_ref_obj (result)); - /* If this object has a named reference, we file it away for - later. Otherwise we release it */ - if (name != NULL) { - add_reference (name, result, NULL); - /* An annotation is treated differently from a cos object. - cos objects are kept open for the user. We forcibly - "close" the annotation by calling release_reference */ - release_reference (name); - } else - pdf_release_obj (result); - } else { - fprintf (stderr, "Ignoring annotation with invalid dictionary\n"); - error = 1; - } - release_xform_info (p); - if (name) - RELEASE (name); -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} - -pdf_obj *pending_annot_dict = NULL; -static void do_bann(char **start, char *end) -{ - int error = 0; -#ifdef MEM_DEBUG -MEM_START -#endif - if (!pending_annot_dict) { - skip_white(start, end); - if ((pending_annot_dict = parse_pdf_dict(start, end)) != NULL) { - pdf_doc_begin_annot (pending_annot_dict); - /* If this object has a named reference, we file it away for - later. Otherwise we release it */ - } else { - fprintf (stderr, "Ignoring annotation with invalid dictionary\n"); - error = 1; - } - } else { - fprintf (stderr, "\nCan't begin an annotation when one is pending.\n"); - } -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} - -static void do_eann(char **start, char *end) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - if (pending_annot_dict) { - pdf_doc_end_annot (); - pdf_release_obj (pending_annot_dict); - pending_annot_dict = NULL; - } else { - fprintf (stderr, "\nTried to end an annotation without starting one!\n"); - } -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} - -static void do_bgcolor(char **start, char *end) -{ - char *save = *start; - pdf_obj *color; - int error = 0; - skip_white(start, end); - if ((color = parse_pdf_object(start, end)) != NULL && - (color -> type == PDF_ARRAY || - color -> type == PDF_NUMBER )) { - switch (color -> type) { - int i; - case PDF_ARRAY: - for (i=0; i<5; i++) { - if (pdf_get_array (color, i) == NULL || - pdf_get_array (color, i) -> type != PDF_NUMBER) - break; - } - switch (i) { - case 3: - dev_bg_rgb_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2))); - break; - case 4: - dev_bg_cmyk_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2)), - pdf_number_value (pdf_get_array (color,3))); - break; - default: - fprintf (stderr, "\nSpecial: begincolor: Expecting either RGB or CMYK color array\n"); - error = 1; - } - break; - case PDF_NUMBER: - dev_bg_gray (pdf_number_value (color)); - } - } else { - fprintf (stderr, "\nSpecial: background color: Expecting color specified by an array or number\n"); - error = 1; - } - if (error) { - *start = save; - dump (*start, end); - } - if (color) - pdf_release_obj (color); - return; -} - -static void do_bcolor(char **start, char *end) -{ - char *save = *start; - pdf_obj *color; - int error = 0; -#ifdef MEM_DEBUG - MEM_START -#endif /* MEM_DEBUG */ - skip_white(start, end); - if ((color = parse_pdf_object(start, end)) != NULL && - (color -> type == PDF_ARRAY || - color -> type == PDF_NUMBER )) { - switch (color -> type) { - int i; - case PDF_ARRAY: - for (i=0; i<5; i++) { - if (pdf_get_array (color, i) == NULL || - pdf_get_array (color, i) -> type != PDF_NUMBER) - break; - } - switch (i) { - case 3: - dev_begin_rgb_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2))); - break; - case 4: - dev_begin_cmyk_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2)), - pdf_number_value (pdf_get_array (color,3))); - break; - default: - fprintf (stderr, "\nSpecial: begincolor: Expecting either RGB or CMYK color array\n"); - error = 1; - } - break; - case PDF_NUMBER: - dev_begin_gray (pdf_number_value (color)); - } - } else { - fprintf (stderr, "\nSpecial: Begincolor: Expecting color specified by an array or number\n"); - error = 1; - } - if (error) { - *start = save; - dump (*start, end); - } - if (color) - pdf_release_obj (color); -#ifdef MEM_DEBUG - MEM_END -#endif /* MEM_DEBUG */ - return; -} - -static void do_scolor(char **start, char *end) -{ - char *save = *start; - pdf_obj *color; - int error = 0; -#ifdef MEM_DEBUG - MEM_START -#endif /* MEM_DEBUG */ - skip_white(start, end); - if ((color = parse_pdf_object(start, end)) != NULL && - (color -> type == PDF_ARRAY || - color -> type == PDF_NUMBER )) { - switch (color -> type) { - int i; - case PDF_ARRAY: - for (i=0; i<5; i++) { - if (pdf_get_array (color, i) == NULL || - pdf_get_array (color, i) -> type != PDF_NUMBER) - break; - } - switch (i) { - case 3: - dev_set_def_rgb_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2))); - break; - case 4: - dev_set_def_cmyk_color (pdf_number_value (pdf_get_array (color,0)), - pdf_number_value (pdf_get_array (color,1)), - pdf_number_value (pdf_get_array (color,2)), - pdf_number_value (pdf_get_array (color,3))); - break; - default: - fprintf (stderr, "\nSpecial: begincolor: Expecting either RGB or CMYK color array\n"); - error = 1; - } - break; - case PDF_NUMBER: - dev_set_def_gray (pdf_number_value (color)); - } - } else { - fprintf (stderr, "\nSpecial: Begincolor: Expecting color specified by an array or number\n"); - error = 1; - } - if (error) { - *start = save; - dump (*start, end); - } - if (color) - pdf_release_obj (color); -#ifdef MEM_DEBUG - MEM_END -#endif /* MEM_DEBUG */ - return; -} - -static void do_bgray(char **start, char *end) -{ - char *number_string; - skip_white(start, end); - if ((number_string = parse_number (start, end)) != NULL) { - dev_begin_gray (atof (number_string)); - RELEASE (number_string); - } else { - fprintf (stderr, "\nSpecial: begingray: Expecting a numerical grayscale specification\n"); - } - return; -} - -static void do_ecolor(void) -{ - dev_end_color(); -} - -static void do_egray(void) -{ - dev_end_color(); -} - -static void do_bxform (char **start, char *end, double x_user, double y_user) -{ - int error = 0; - char *save = *start; - struct xform_info *p; - p = new_xform_info (); -#ifdef MEM_DEBUG - MEM_START -#endif - skip_white (start, end); - if (parse_dimension (start, end, p)) { - if (!validate_image_xform_info (p)) { - fprintf (stderr, "\nSpecified dimensions are inconsistent\n"); - fprintf (stderr, "\nSpecial will be ignored\n"); - error = 1; - } - if (p -> width != 0.0 || p -> height != 0.0 || p -> depth != 0.0) { - fprintf (stderr, "Special: bt: width, height, and depth are meaningless\n"); - fprintf (stderr, "Special: bt: These will be ignored\n"); - /* This isn't really a fatal error */ - } - if (p -> scale != 0.0) { - p->xscale = p->scale; - p->yscale = p->scale; - } - if (p -> xscale == 0.0) - p->xscale = 1.0; - if (p -> yscale == 0.0) - p->yscale = 1.0; - } else { - fprintf (stderr, "\nError in transformation parameters\n"); - error = 1; - } - if (!error) { - dev_begin_xform (p->xscale, p->yscale, p->rotate, x_user, y_user); - } else { - *start = save; - dump (*start, end); - } - release_xform_info (p); -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} - -static void do_exform(void) -{ -#ifdef MEM_DEBUG -MEM_START -#endif - dev_end_xform(); -#ifdef MEM_DEBUG -MEM_END -#endif -} - -static void do_outline(char **start, char *end) -{ - pdf_obj *level = NULL, *result; - int error = 0; - char *save; - static int lowest_level = 255; - skip_white(start, end); - save = *start; - if ((level = parse_pdf_object(start, end)) != NULL && - level -> type == PDF_NUMBER) { - /* Make sure we know where the starting level is */ - if ( (int) pdf_number_value (level) < lowest_level) - lowest_level = (int) pdf_number_value (level); - - if ((result = parse_pdf_dict(start, end)) != NULL) { - pdf_doc_change_outline_depth - ((int)pdf_number_value(level)-lowest_level+1); - pdf_doc_add_outline (result); - } else { - fprintf (stderr, "\nIgnoring invalid dictionary\n"); - error = 1; - } - } else { - fprintf (stderr, "\nSpecial: outline: Expecting number for object level.\n"); - *start = save; - error = 1; - } - if (error) - dump (*start, end); - if (level) - pdf_release_obj (level); - return; -} - -static void do_article(char **start, char *end) -{ - char *name = NULL, *save = *start; - int error = 0; - pdf_obj *info_dict = NULL; - skip_white (start, end); - if (*((*start)++) != '@' || (name = parse_ident(start, end)) == NULL) { - fprintf (stderr, "Article name expected.\n"); - *start = save; - dump (*start, end); - error = 1; - } - if (!error && (info_dict = parse_pdf_dict(start, end)) == NULL) { - fprintf (stderr, "Ignoring invalid dictionary\n"); - error = 1; - } - if (!error) { - pdf_doc_start_article (name, pdf_link_obj(info_dict)); - add_reference (name, info_dict, NULL); - } - if (name) - RELEASE (name); - return; -} - -static void do_bead(char **start, char *end) -{ - pdf_obj *bead_dict, *rectangle, *article, *info_dict = NULL; - int error = 0; - char *name = NULL, *save = *start; - struct xform_info *p; - p = new_xform_info(); - skip_white(start, end); - if (*((*start)++) != '@' || (name = parse_ident(start, end)) == NULL) { - fprintf (stderr, "Article reference expected.\nWhich article does this go with?\n"); - error = 1; - } - /* If okay so far, try to get a bounding box */ - if (!error) { - skip_white(start, end); - if (!parse_dimension(start, end, p)) { - fprintf (stderr, "\nSpecial: thread: Error in bounding box specification for this bead\n"); - error = 1; - } - if (p->scale != 0.0 || p->xscale != 0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nScale meaningless for annotations\n"); - error = 1; - } - if (p->width == 0.0 || p->depth + p->height == 0.0) { - fprintf (stderr, "\nSpecial thread: Rectangle has a zero dimension\n"); - error = 1; - } - } - if (!error) { - skip_white (start, end); - if (**start == '<') { - if ((info_dict = parse_pdf_dict (start, end)) == - NULL) { - fprintf (stderr, "\nSpecial: thread: Error in dictionary\n"); - error = 1; - } - } else - info_dict = pdf_new_dict(); - } - if (!error && name && info_dict) { - /* Does this article exist yet */ - if ((article = lookup_object (name)) == NULL) { - pdf_doc_start_article (name, pdf_link_obj (info_dict)); - add_reference (name, info_dict, NULL); - } else { - pdf_merge_dict (article, info_dict); - pdf_release_obj (info_dict); - info_dict = NULL; - } - bead_dict = pdf_new_dict (); - rectangle = pdf_new_array(); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_x(),0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_y()-p->depth,0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_x()+p->width,0.01))); - pdf_add_array (rectangle, pdf_new_number(ROUND(dev_phys_y()+p->height,0.01))); - pdf_add_dict (bead_dict, pdf_new_name ("R"), - rectangle); - pdf_add_dict (bead_dict, pdf_new_name ("P"), - pdf_doc_this_page_ref()); - pdf_doc_add_bead (name, bead_dict); - } - release_xform_info(p); - if (name != NULL) { - RELEASE (name); - } - if (error) { - *start = save; - dump (*start, end); - } - return; -} - -pdf_obj *embed_image (char *filename, struct xform_info *p, - double x_user, double y_user, char *objname) -{ - pdf_obj *result = NULL; - char *kpse_file_name; - FILE *image_file; - static char res_name[16]; - static long next_image = 1; - sprintf (res_name, "Im%ld", next_image); - if ((kpse_file_name = kpse_find_pict (filename)) && - (image_file = MFOPEN (kpse_file_name, FOPEN_RBIN_MODE))) { - fprintf (stderr, "(%s", kpse_file_name); - if (check_for_jpeg(image_file)) { - result = jpeg_start_image(image_file); - if (result) - finish_image (result, p, res_name); - } -#ifdef HAVE_LIBPNG - else if (check_for_png(image_file)) { - fprintf (stderr, "<PNG>"); - result = start_png_image (image_file, NULL); - if (result) - finish_image (result, p, res_name); - } -#endif - else if (check_for_pdf (image_file)) { - fprintf (stderr, "<PDF>"); - result = pdf_include_page (image_file, p, res_name); - } - else if (check_for_mp (image_file)) { - fprintf (stderr, "<MPOST>"); - result = mp_include (image_file, p, res_name, x_user, y_user); - } - /* Make sure we check for PS *after* checking for MP since - MP is a special case of PS */ - else if (check_for_ps (image_file)) { - fprintf (stderr, "<PS>"); - result = ps_include (kpse_file_name, p, - res_name, x_user, y_user); - } - else{ - fprintf (stderr, "<?>"); - result = ps_include (kpse_file_name, p, - res_name, x_user, y_user); - } - MFCLOSE (image_file); - fprintf (stderr, ")"); - } else { - fprintf (stderr, "\nError locating or opening file (%s)\n", filename); - } - if (result) { /* Put reference to object on page */ - next_image += 1; - pdf_doc_add_to_page_xobjects (res_name, pdf_ref_obj(result)); - pdf_doc_add_to_page (" q", 2); - /* Handle the conversion to PDF stream units here */ - add_xform_matrix (x_user, y_user, - p->xscale/pdf_dev_scale(), p->yscale/pdf_dev_scale(), p->rotate); - if (p->depth != 0.0) - add_xform_matrix (0.0, -p->depth, 1.0, 1.0, 0.0); - sprintf (work_buffer, " /%s Do Q", res_name); - pdf_doc_add_to_page (work_buffer, strlen(work_buffer)); - } else { - fprintf (stderr, "\npdf: image inclusion failed for (%s).\n", filename); - } - if (objname != NULL && result != NULL) { - add_reference (objname, pdf_link_obj (result), res_name); - /* Read the explanation for the next line in do_ann() */ - release_reference (objname); - } - return result; -} - -static void do_image (char **start, char *end, double x_user, double y_user) -{ - char *filename = NULL, *objname = NULL, *save; - pdf_obj *filestring = NULL, *result = NULL; - int error = 0; - struct xform_info *p; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white(start, end); - objname = parse_opt_ident(start, end); - p = new_xform_info(); - skip_white(start, end); - save = *start; - if (!parse_dimension(start, end, p)) { - fprintf (stderr, "\nError in dimensions of encapsulated image\n"); - error = 1; - } - skip_white(start, end); - if (!error && (filestring = parse_pdf_string(start, end)) == NULL) { - fprintf (stderr, "\nMissing filename\n"); - error = 1; - } - if (!error) { - filename = pdf_string_value(filestring); - } - if (!error && !validate_image_xform_info (p)) { - fprintf (stderr, "\nSpecified dimensions are inconsistent\n"); - dump (save, end); - error = 1; - } - if (!error) - result = embed_image (filename, p, x_user, y_user, objname); - else - dump (save, end); - if (p) - release_xform_info (p); - if (objname) - RELEASE (objname); - if (filestring) - pdf_release_obj (filestring); - if (error || !result) - fprintf (stderr, "Image special ignored.\n"); - if (result) - pdf_release_obj (result); - return; -#ifdef MEM_DEBUG -MEM_END -#endif -} - -static void do_dest(char **start, char *end) -{ - pdf_obj *name; - pdf_obj *array; -#ifdef MEM_DEBUG -MEM_START -#endif - skip_white(start, end); - if ((name = parse_pdf_string(start, end)) == NULL) { - fprintf (stderr, "\nPDF string expected and not found.\n"); - fprintf (stderr, "Special dest: ignored\n"); - dump(*start, end); - return; - } - if ((array = parse_pdf_array(start, end)) == NULL) { - pdf_release_obj (name); - return; - } - pdf_doc_add_dest (pdf_obj_string_value(name), - pdf_obj_string_length(name), - pdf_ref_obj (array)); - pdf_release_obj (name); - pdf_release_obj (array); -#ifdef MEM_DEBUG -MEM_END -#endif -} - -static void do_docinfo(char **start, char *end) -{ - pdf_obj *result; - if ((result = parse_pdf_dict(start, end)) != NULL) { - pdf_doc_merge_with_docinfo (result); - } else { - fprintf (stderr, "\nSpecial: docinfo: Dictionary expected and not found\n"); - dump (*start, end); - } - pdf_release_obj (result); - return; -} - -static void do_docview(char **start, char *end) -{ - pdf_obj *result; - if ((result = parse_pdf_dict(start, end)) != NULL) { - pdf_doc_merge_with_catalog (result); - } else { - fprintf (stderr, "\nSpecial: docview: Dictionary expected and not found\n"); - dump (*start, end); - } - pdf_release_obj (result); - return; -} - - -static void do_close(char **start, char *end) -{ - char *name; - skip_white(start, end); - if ((name = parse_pdf_reference(start, end)) != NULL) { - release_reference (name); - RELEASE (name); - } - return; -} - -static void do_obj(char **start, char *end) -{ - pdf_obj *result; - char *name; - skip_white(start, end); - name = parse_opt_ident(start, end); - if ((result = parse_pdf_object(start, end)) == NULL) { - fprintf (stderr, "Special object: Ignored.\n"); - return; - }; - if (name != NULL) { - add_reference (name, result, NULL); - RELEASE (name); - } - return; -} - -static void do_content(char **start, char *end, double x_user, double y_user) -{ - int len; - if (*start < end) { - sprintf (work_buffer, " q 1 0 0 1 %.2f %.2f cm ", x_user, y_user); - len = strlen(work_buffer); - pdf_doc_add_to_page (work_buffer, len); - pdf_doc_add_to_page (*start, end-*start); - pdf_doc_add_to_page (" Q", 2); - } - *start = end; - return; -} - - -static int is_pdf_special (char **start, char *end) -{ - skip_white(start, end); - if (end-*start >= strlen ("pdf:") && - !strncmp (*start, "pdf:", strlen("pdf:"))) { - *start += strlen("pdf:"); - return 1; - } - return 0; -} - -#define ANN 1 -#define OUTLINE 2 -#define ARTICLE 3 -#define DEST 4 -#define DOCINFO 7 -#define DOCVIEW 8 -#define OBJ 9 -#define CONTENT 10 -#define PUT 11 -#define CLOSE 12 -#define BOP 13 -#define EOP 14 -#define BEAD 15 -#define EPDF 16 -#define IMAGE 17 -#define BCOLOR 18 -#define ECOLOR 19 -#define BGRAY 20 -#define EGRAY 21 -#define BGCOLOR 22 -#define BXFORM 23 -#define EXFORM 24 -#define DVIPDFM_PAGE_SIZE 25 -#define BXOBJ 26 -#define EXOBJ 27 -#define UXOBJ 28 -#define SCOLOR 29 -#define BANN 30 -#define EANN 31 -#define LINK_ANNOT 32 -#define NOLINK_ANNOT 33 - -struct pdfmark -{ - char *string; - int value; -} pdfmarks[] = { - {"ann", ANN}, - {"annot", ANN}, - {"annotate", ANN}, - {"annotation", ANN}, - {"out", OUTLINE}, - {"outline", OUTLINE}, - {"art", ARTICLE}, - {"article", ARTICLE}, - {"bead", BEAD}, - {"thread", BEAD}, - {"dest", DEST}, - {"docinfo", DOCINFO}, - {"docview", DOCVIEW}, - {"obj", OBJ}, - {"object", OBJ}, - {"content", CONTENT}, - {"put", PUT}, - {"close", CLOSE}, - {"bop", BOP}, - {"eop", EOP}, - {"epdf", EPDF}, - {"image", IMAGE}, - {"img", IMAGE}, - {"bc", BCOLOR}, - {"bcolor", BCOLOR}, - {"begincolor", BCOLOR}, - {"link", LINK_ANNOT}, - {"nolink", NOLINK_ANNOT}, - {"sc", SCOLOR}, - {"scolor", SCOLOR}, - {"setcolor", SCOLOR}, - {"ec", ECOLOR}, - {"ecolor", ECOLOR}, - {"endcolor", ECOLOR}, - {"bg", BGRAY}, - {"bgray", BGRAY}, - {"begingray", BGRAY}, - {"eg", EGRAY}, - {"egray", EGRAY}, - {"endgray", EGRAY}, - {"bgcolor", BGCOLOR}, - {"bgc", BGCOLOR}, - {"bbc", BGCOLOR}, - {"bbg", BGCOLOR}, - {"pagesize", DVIPDFM_PAGE_SIZE}, - {"beginann", BANN}, - {"bann", BANN}, - {"bannot", BANN}, - {"eann", EANN}, - {"endann", EANN}, - {"eannot", EANN}, - {"begintransform", BXFORM}, - {"begintrans", BXFORM}, - {"btrans", BXFORM}, - {"bt", BXFORM}, - {"endtransform", EXFORM}, - {"endtrans", EXFORM}, - {"etrans", EXFORM}, - {"et", EXFORM}, - {"beginxobj", BXOBJ}, - {"bxobj", BXOBJ}, - {"endxobj", EXOBJ}, - {"exobj", EXOBJ}, - {"usexobj", UXOBJ}, - {"uxobj", UXOBJ} -}; - -static int parse_pdfmark (char **start, char *end) -{ - char *save; - int i; - if (verbose) { - fprintf (stderr, "\nparse_pdfmark:"); - dump (*start, end); - } - skip_white(start, end); - if (*start >= end) { - fprintf (stderr, "Special ignored...no pdfmark found\n"); - return -1; - } - - save = *start; - while (*start < end && isalpha (**start)) - (*start)++; - for (i=0; i<sizeof(pdfmarks)/sizeof(struct pdfmark); i++) { - if (*start-save == strlen (pdfmarks[i].string) && - !strncmp (save, pdfmarks[i].string, - strlen(pdfmarks[i].string))) - return pdfmarks[i].value; - } - *start = save; - fprintf (stderr, "\nExpecting pdfmark (and didn't find one)\n"); - dump(*start, end); - return -1; -} - -struct named_reference -{ - char *name; - char *res_name; - pdf_obj *object_ref; - pdf_obj *object; -} *named_references = NULL; -static unsigned long number_named_references = 0, max_named_objects = 0; - -static void add_reference (char *name, pdf_obj *object, char *res_name) -{ - int i; - if (number_named_references >= max_named_objects) { - max_named_objects += NAMED_OBJ_ALLOC_SIZE; - named_references = RENEW (named_references, max_named_objects, - struct named_reference); - } - for (i=0; i<number_named_references; i++) { - if (!strcmp (named_references[i].name, name)) { - break; - } - } - if (i != number_named_references) { - fprintf (stderr, "\nWarning: @%s: Duplicate named reference ignored\n", name); - } - named_references[number_named_references].name = NEW (strlen - (name)+1, - char); - strcpy (named_references[number_named_references].name, name); - if (res_name != NULL && strlen(res_name) != 0) { - named_references[number_named_references].res_name=NEW(strlen(name)+1, char); - strcpy (named_references[number_named_references].res_name, - res_name); - } else { - named_references[number_named_references].res_name = NULL; - } - named_references[number_named_references].object_ref = pdf_ref_obj(object); - named_references[number_named_references].object = object; - number_named_references+=1; -} -/* The following routine returns copies, not the original object */ -static pdf_obj *lookup_reference(char *name) -{ - int i; - /* First check for builtins first */ - if (!strcmp (name, "ypos")) { - return pdf_new_number(ROUND(dev_phys_y(),0.01)); - } - if (!strcmp (name, "xpos")) { - return pdf_new_number(ROUND(dev_phys_x(),0.01)); - } - if (!strcmp (name, "thispage")) { - return pdf_doc_this_page_ref(); - } - if (!strcmp (name, "prevpage")) { - return pdf_doc_prev_page_ref(); - } - if (!strcmp (name, "nextpage")) { - return pdf_doc_next_page_ref(); - } - if (!strcmp (name, "pages")) { - return pdf_ref_obj (pdf_doc_page_tree()); - } - if (!strcmp (name, "names")) { - return pdf_ref_obj (pdf_doc_names()); - } - if (!strcmp (name, "resources")) { - return pdf_ref_obj (pdf_doc_current_page_resources()); - } - if (!strcmp (name, "catalog")) { - return pdf_ref_obj (pdf_doc_catalog()); - } - - if (strlen (name) > 4 && - !strncmp (name, "page", 4) && - is_an_int (name+4)) { - return pdf_doc_ref_page(atoi (name+4)); - } - for (i=0; i<number_named_references; i++) { - if (!strcmp (named_references[i].name, name)) { - break; - } - } - if (i == number_named_references) - return NULL; - return (pdf_link_obj (named_references[i].object_ref)); -} - -static pdf_obj *lookup_object(char *name) -{ - int i; - if (!strcmp (name, "thispage")) { - return pdf_doc_this_page(); - } - if (!strcmp (name, "pages")) { - return pdf_doc_page_tree(); - } - if (!strcmp (name, "names")) { - return pdf_doc_names(); - } - if (!strcmp (name, "resources")) { - return pdf_doc_current_page_resources(); - } - if (!strcmp (name, "catalog")) { - return pdf_doc_catalog(); - } - - for (i=0; i<number_named_references; i++) { - if (!strcmp (named_references[i].name, name)) { - break; - } - } - if (i == number_named_references) - return NULL; - if (named_references[i].object == NULL) - fprintf (stderr, "lookup_object: Referenced object not defined or already closed\n"); - return (named_references[i].object); -} - -char *lookup_ref_res_name(char *name) -{ - int i; - for (i=0; i<number_named_references; i++) { - if (named_references[i].name != NULL) - if (named_references[i].name != NULL && - !strcmp (named_references[i].name, name)) { - break; - } - } - if (i == number_named_references) - return NULL; - if (named_references[i].res_name == NULL) - fprintf (stderr, "lookup_object: Referenced object not useable as a form!\n"); - return (named_references[i].res_name); -} - -static void release_reference (char *name) -{ - int i; - for (i=0; i<number_named_references; i++) { - if (!strcmp (named_references[i].name, name)) { - break; - } - } - if (i == number_named_references) { - fprintf (stderr, "\nrelease_reference: tried to release nonexistent reference\n"); - return; - } - if (named_references[i].object != NULL) { - pdf_release_obj (named_references[i].object); - named_references[i].object = NULL; - } - else - fprintf (stderr, "\nrelease_reference: @%s: trying to close an object twice?\n", name); -} - - -void pdf_finish_specials (void) -{ - int i; - /* Flush out any pending objects that weren't properly closeed. - Threads never get closed. Is this a bug? */ - for (i=0; i<number_named_references; i++) { - pdf_release_obj (named_references[i].object_ref); - if (named_references[i].object != NULL) { - pdf_release_obj (named_references[i].object); - named_references[i].object = NULL; - } - if (named_references[i].res_name != NULL) { - RELEASE (named_references[i].res_name); - named_references[i].res_name = NULL; - } - RELEASE (named_references[i].name); - } - if (number_named_references > 0) - RELEASE (named_references); -} - -int pdf_parse_special(char *buffer, UNSIGNED_QUAD size, double - x_user, double y_user) -{ - int pdfmark, result=0; - char *start = buffer, *end; - end = buffer + size; - -#ifdef MEM_DEBUG -MEM_START -#endif - - if (is_pdf_special(&start, end)) { - result = 1; /* This means it really was a pdf special. It doesn't - mean it succeeded */ - /* Must have a pdf special */ - pdfmark = parse_pdfmark(&start, end); - switch (pdfmark) { - case ANN: - do_ann(&start, end); - break; - case BANN: - do_bann(&start, end); - break; - case LINK_ANNOT: - dev_link_annot(1); - break; - case NOLINK_ANNOT: - dev_link_annot(0); - break; - case EANN: - do_eann(&start, end); - break; - case OUTLINE: - do_outline(&start, end); - break; - case ARTICLE: - do_article(&start, end); - break; - case BEAD: - do_bead(&start, end); - break; - case DEST: - do_dest(&start, end); - break; - case DOCINFO: - do_docinfo(&start, end); - break; - case DOCVIEW: - do_docview(&start, end); - break; - case OBJ: - do_obj(&start, end); - break; - case CONTENT: - do_content(&start, end, x_user, y_user); - break; - case PUT: - do_put(&start, end); - break; - case CLOSE: - do_close(&start, end); - break; - case BOP: - do_bop(&start, end); - break; - case EOP: - do_eop(&start, end); - break; - case EPDF: - do_image(&start, end, x_user, y_user); - break; - case IMAGE: - do_image(&start, end, x_user, y_user); - break; - case BGCOLOR: - if (!ignore_colors) - do_bgcolor (&start, end); - break; - case SCOLOR: - if (!ignore_colors) - do_scolor (&start, end); - break; - case BCOLOR: - if (!ignore_colors) - do_bcolor (&start, end); - break; - case ECOLOR: - if (!ignore_colors) - do_ecolor (); - break; - case BGRAY: - do_bgray (&start, end); - break; - case EGRAY: - do_egray (); - break; - case BXFORM: - do_bxform (&start, end, x_user, y_user); - break; - case EXFORM: - do_exform (); - break; - case DVIPDFM_PAGE_SIZE: - do_pagesize(&start, end); - break; - case BXOBJ: - do_bxobj (&start, end, x_user, y_user); - break; - case EXOBJ: - do_exobj (); - break; - case UXOBJ: - do_uxobj (&start, end, x_user, y_user); - break; - default: - dump (start, end); - fprintf (stderr, "Invalid pdf special ignored\n"); - break; - } - skip_white (&start, end); - if (start < end) { - fprintf (stderr, "\nUnparsed material at end of special ignored..."); - dump (start, end); - } - } else { - result = 0; - } -#ifdef MEM_DEBUG -MEM_END -#endif - return result; -} - -/* Compute a transformation matrix - transformations are applied in the following - order: scaling, rotate, displacement. */ -void add_xform_matrix (double xoff, double yoff, - double xscale, double yscale, - double rotate) -{ - double c, s; - c = ROUND(cos(rotate),1e-5); - s = ROUND(sin(rotate),1e-5); - sprintf (work_buffer, " %g %g %g %g %.2f %.2f cm", - c*xscale, s*xscale, -s*yscale, c*yscale, xoff, yoff); - pdf_doc_add_to_page (work_buffer, strlen(work_buffer)); -} - - -pdf_obj *jpeg_start_image(FILE *file) -{ - pdf_obj *xobject, *xobj_dict; - struct jpeg *jpeg; - jpeg = jpeg_open (file); - xobject = pdf_new_stream(0); - xobj_dict = pdf_stream_dict (xobject); - pdf_add_dict (xobj_dict, pdf_new_name ("Width"), - pdf_new_number (jpeg -> width)); - pdf_add_dict (xobj_dict, pdf_new_name ("Height"), - pdf_new_number (jpeg -> height)); - pdf_add_dict (xobj_dict, pdf_new_name ("BitsPerComponent"), - pdf_new_number (jpeg -> bits_per_color)); - if (jpeg->colors == 1) - pdf_add_dict (xobj_dict, pdf_new_name ("ColorSpace"), - pdf_new_name ("DeviceGray")); - if (jpeg->colors > 1) - pdf_add_dict (xobj_dict, pdf_new_name ("ColorSpace"), - pdf_new_name ("DeviceRGB")); - pdf_add_dict (xobj_dict, pdf_new_name ("Filter"), - pdf_new_name ("DCTDecode")); - { - int length; - rewind (jpeg -> file); - while ((length = fread (work_buffer, sizeof (char), - WORK_BUFFER_SIZE, jpeg -> file)) > 0) { - pdf_add_stream (xobject, work_buffer, length); - } - } - jpeg_close (jpeg); - return (xobject); -} - -void pdf_scale_image (struct xform_info *p) -{ - double xscale = 1.0, yscale = 1.0, nat_width, nat_height; - if (p->user_bbox) { /* Did user override natural bounding box */ - nat_width = p->u_urx - p->u_llx; - nat_height = p->u_ury - p->u_lly; - } else { /* If not, use media width and height */ - nat_width = p->c_urx - p->c_llx; - nat_height = p->c_ury - p->c_lly; - p->u_llx = 0.0; /* Initialize u_llx and u_lly because they - p->u_lly = 0.0; are used to set the origin within the crop - area */ - } - if (p->clip && p->user_bbox) { /* Clip to user specified bbox? */ - p->c_urx = p->u_urx; - p->c_ury = p->u_ury; - p->c_llx = p->u_llx; - p->c_lly = p->u_lly; - } - if (p->scale != 0) { - xscale = p->scale; - yscale = p->scale; - } - if (p->xscale != 0) { - xscale = p->xscale; - } - if (p->yscale != 0) { - yscale = p->yscale; - } - if (p->width != 0.0 && nat_width != 0.0) { - xscale = p->width/nat_width; - if (p->height == 0.0) - yscale = xscale; - } - if (p->height != 0.0 && nat_height != 0.0) { - yscale = p->height/nat_height; - if (p->width == 0.0) - xscale = yscale; - } - /* We overwrite p->xscale and p->yscale to pass values back to - caller to user */ - p->xscale = xscale; - p->yscale = yscale; - return; -} - -static void finish_image (pdf_obj *image_res, struct xform_info *p, - char *res_name) -{ - pdf_obj *image_dict; - image_dict = pdf_stream_dict (image_res); - pdf_add_dict (image_dict, pdf_new_name ("Name"), - pdf_new_name (res_name)); - pdf_add_dict (image_dict, pdf_new_name ("Type"), - pdf_new_name ("XObject")); - pdf_add_dict (image_dict, pdf_new_name ("Subtype"), - pdf_new_name ("Image")); - { /* Compute new xscale and yscale based on user specified values - and image dimensions (recall that PDF changes dimensions of all - images to 1x1 :-( */ - int width, height; - width = pdf_number_value(pdf_lookup_dict (image_dict, "Width")); - height = pdf_number_value(pdf_lookup_dict (image_dict, "Height")); - /* Following routine sets xscale and yscale to a fraction of - their natural values */ - p->c_llx = 0; - p->c_lly = 0; - p->c_urx = width*(72.0/100.0); - p->c_ury = height*(72.0/100.0); - if (p->user_bbox) { - fprintf (stderr, - "\nWarning: Ignoring user specified bounding box for raster image.\n"); - p->user_bbox = 0; - } - pdf_scale_image (p); - /* Since bitmapped images are always 1x1 in PDF, we must rescale - again */ - p->xscale *= width*(72.0/100.0); - p->yscale *= height*(72.0/100.0); - } - return; -} - -static void do_bxobj (char **start, char *end, double x_user, double y_user) -{ - char *objname = NULL; - static unsigned long num_forms = 0; - pdf_obj *xobject = NULL; - struct xform_info *p = NULL; - int errors = 0; - skip_white(start, end); - /* If there's an object name, check dimensions */ - if ((objname = parse_opt_ident(start, end)) != NULL) { - p = new_xform_info (); - skip_white(start, end); - if (!parse_dimension(start, end, p)) { - fprintf (stderr, "\nFailed to find a valid dimension.\n"); - errors = 1; - } - if (p->scale != 0.0 || p->xscale != 0.0 || p->yscale != 0.0) { - fprintf (stderr, "\nScale information is meaningless for form xobjects\n"); - errors = 1; - } - if (p->width == 0.0 || p->depth+p->height == 0.0) { - fprintf (stderr, "\nSpecial: bxobj: Bounding box has a zero dimension\n"); - fprintf (stderr, "width:%g, height:%g, depth:%g\n", p->width, - p->height, p->depth); - errors = 1; - } - /* If there's an object name and valid dimension, add it to the - tables */ - if (!errors) { - char *res_name; - sprintf (work_buffer, "Fm%ld", ++num_forms); - res_name = NEW (strlen(work_buffer)+1, char); - strcpy (res_name, work_buffer); - xobject = begin_form_xobj (x_user, y_user, - x_user, y_user-p->depth, - x_user+p->width, y_user+p->height, - res_name); - add_reference (objname, xobject, res_name); - RELEASE (res_name); - /* Next line has Same explanation as for do_ann. */ - release_reference (objname); - } - release_xform_info (p); - RELEASE (objname); - } - else { - fprintf (stderr, "\nSpecial: beginxobj: A form XObject must be named\n"); - } - return; -} - - -static void do_exobj (void) -{ - end_form_xobj(); -} - -static void do_uxobj (char **start, char *end, double x_user, double y_user) -{ - char *objname, *res_name = NULL; - pdf_obj *xobj_res = NULL; - skip_white (start, end); - if (((objname = parse_opt_ident(start, end)) != NULL) && - ((res_name = lookup_ref_res_name (objname)) != NULL) && - ((xobj_res = lookup_reference (objname)) != NULL)) { - sprintf (work_buffer, " q 1 0 0 1 %.2f %.2f cm /%s Do Q", x_user, y_user, res_name); - pdf_doc_add_to_page (work_buffer, strlen(work_buffer)); - pdf_doc_add_to_page_xobjects (res_name, xobj_res); - } - if (objname != NULL && (res_name == NULL || xobj_res == NULL)) { - fprintf (stderr, "\nSpecial: usexobj: Specified XObject doesn't exist: %s\n", - objname); - } - if (objname != NULL) - RELEASE (objname); - return; -} - diff --git a/Build/source/texk/dvipdfm/pdfspecial.h b/Build/source/texk/dvipdfm/pdfspecial.h deleted file mode 100644 index 1d8fd7aa9f1..00000000000 --- a/Build/source/texk/dvipdfm/pdfspecial.h +++ /dev/null @@ -1,102 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PDFSPECIAL_H - -#define PDFSPECIAL_H -#include "numbers.h" -#include "pdfobj.h" - -struct xform_info -{ - double width; - double height; - double depth; - double scale; - double xscale; - double yscale; - double rotate; - /* If the user enters a "bounding box", user_bbox is nonzero */ - unsigned char user_bbox; - /* If the user enters a "bounding box", the use specified - coordinates follow */ - double u_llx, u_lly, u_urx, u_ury; - /* The following lines are for compatibility with dvips specials. - The method is a bit clumsy, and requires a lengthy explanation, - because dvipdfm uses form xobjects to embed all image types. - - Because the image is a form xobject, the image must be clipped - somewhere. Form xobjects always crop to their bounding box. - However, this is not the dvips behavior. If the user specifies - "clip", PS and PDF images will be clipped to the user specified - bounding box; in other words, the user specified bounding box and - the clipping bounding box are one and the same. Otherwise, - dvipdfm will clip the image at the bounding box contained in the - image file. (The eps header in the case of Metapost images or - the media box or crop box in the case of PDF images.) In the - case that the user bounding box and clip bounding box are - different, the image is scaled to match any user specified - dimensions. - - Processing of all image inclusion specials are handled by common - code which fills in the user bounding box, if any, as well as the - width, height, depth, xscale, yscale, scale, and rotate fields. - That common routine calls a routine specific to each image type. - The routines specific to each file type MUST fill in the c_llx - through c_ury fields, because the source of this information is - image type dependent. They are also responsible for calling - pdf_scale_image(), which checks the information for consistency - and recalculates ` the scaling required to achieve the desired - effect. */ - unsigned char clip; - double c_llx, c_lly, c_urx, c_ury; -}; - -extern int pdf_parse_special(char *buffer, UNSIGNED_QUAD size, double - x_user, double y_user); -extern void pdf_finish_specials(void); -extern pdf_obj *get_reference(char **start, char *end); -extern struct xform_info *new_xform_info (void); -extern void release_xform_info (struct xform_info *p); -extern int validate_image_xform_info (struct xform_info *p); -extern void add_xform_matrix (double xoff, double yoff, double xscale, double - yscale, double rotate); - -extern void pdf_special_ignore_colors(void); - -extern double parse_one_unit (char **start, char *end); -extern void pdf_scale_image (struct xform_info *p); -extern pdf_obj *embed_image (char *filename, struct xform_info *p, - double x_user, double y_user, char - *objname); -extern void pdf_finish_specials(void); -extern void pdf_special_set_grow (double g); -extern double pdf_special_tell_grow (void); - -#ifndef M_PI - #define M_PI (4.0*atan(1.0)) -#endif /* M_PI */ - -#endif /* PDFSPECIAL_H */ diff --git a/Build/source/texk/dvipdfm/pkfont.c b/Build/source/texk/dvipdfm/pkfont.c deleted file mode 100644 index b0fd8b94583..00000000000 --- a/Build/source/texk/dvipdfm/pkfont.c +++ /dev/null @@ -1,620 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "numbers.h" -#include "pkfont.h" -#include "pdfobj.h" -#include "pdflimits.h" -#include "tfm.h" -#include "ctype.h" - -pdf_obj *pk_encoding_ref = NULL; -static unsigned char verbose = 0, debug = 0; -static unsigned font_dpi = 600; - -void pk_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - -void pk_set_dpi (int dpi) -{ - font_dpi = dpi; -} - - -static void make_pk_encoding_ref (void) -{ - static char first = 1; - if (first) { - int i; - pdf_obj *encoding, *differences; - encoding = pdf_new_dict(); - pdf_add_dict (encoding, - pdf_new_name ("Type"), - pdf_new_name ("Encoding")); - differences = pdf_new_array(); - pdf_add_dict (encoding, - pdf_new_name ("Differences"), - differences); - pdf_add_array (differences, pdf_new_number (0.0)); - for (i=0; i<256; i++) { - sprintf (work_buffer, "x%x", i); - pdf_add_array (differences, pdf_new_name(work_buffer)); - } - pk_encoding_ref = pdf_ref_obj (encoding); - pdf_release_obj (encoding); - } - first = 0; - return; -} - -static void release_pk_encoding_ref (void) -{ - pdf_release_obj (pk_encoding_ref); -} - -struct a_pk_font -{ - pdf_obj *direct, *indirect; - char *tex_name, *pk_file_name; - double ptsize; - char *used_chars; -} *pk_fonts; - -void init_pk_record (struct a_pk_font *p) -{ - int i; - p->used_chars = NEW (256, char); - for (i=0; i<256; i++) { - (p->used_chars)[i] = 0; - } - p->tex_name = NULL; - p->pk_file_name = NULL; -} - - -int num_pk_fonts = 0, max_pk_fonts = 0; - -int pk_font (const char *tex_name, double ptsize, int tfm_font_id, char - *res_name) -{ - int i, j; - int firstchar, lastchar; - pdf_obj *tmp1; - for (i=0; i<num_pk_fonts; i++) { - if (!strcmp (tex_name, pk_fonts[i].tex_name) && - (ptsize == pk_fonts[i].ptsize)) - break; - } - if (i == num_pk_fonts) { - char *pk_file_name; - kpse_glyph_file_type kpse_file_info; - if ((pk_file_name = kpse_find_glyph(tex_name, - font_dpi*ptsize/tfm_get_design_size(tfm_font_id)+0.5, - kpse_pk_format, - &kpse_file_info))) { - /* Make sure there is enough room in pk_fonts for this entry */ - if (num_pk_fonts >= max_pk_fonts) { - max_pk_fonts += MAX_FONTS; - pk_fonts = RENEW (pk_fonts, max_pk_fonts, struct a_pk_font); - } - init_pk_record (pk_fonts+i); - pk_fonts[i].pk_file_name = NEW (strlen(pk_file_name)+1, char); - strcpy (pk_fonts[i].pk_file_name, pk_file_name); - pk_fonts[i].tex_name = NEW (strlen (tex_name)+1, char); - strcpy (pk_fonts[i].tex_name, tex_name); - pk_fonts[i].ptsize = ptsize; - pk_fonts[i].direct = pdf_new_dict (); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("Type"), - pdf_new_name ("Font")); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("Name"), - pdf_new_name (res_name)); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("Subtype"), - pdf_new_name ("Type3")); - firstchar = tfm_get_firstchar(tfm_font_id); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("FirstChar"), - pdf_new_number (firstchar)); - lastchar = tfm_get_lastchar(tfm_font_id); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("LastChar"), - pdf_new_number (lastchar)); - tmp1 = pdf_new_array (); - for (j=firstchar; j<=lastchar; j++) { - pdf_add_array (tmp1, - pdf_new_number(ROUND(tfm_get_width (tfm_font_id, j)*1000.0,0.01))); - } - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("Widths"), - tmp1); - { - double max_height, max_depth, max_width; - max_height = tfm_get_max_height (tfm_font_id)*1000.0; - max_depth = tfm_get_max_depth (tfm_font_id)*1000.0; - max_width = tfm_get_max_width (tfm_font_id)*1000.0; - max_height = ROUND(max_height, 1.0); - max_depth = ROUND(max_depth, 1.0); - max_width = ROUND(max_width, 1.0); - tmp1 = pdf_new_array(); - pdf_add_array (tmp1, pdf_new_number(-0.10*max_width)); - pdf_add_array (tmp1, - pdf_new_number(-max_depth-0.20*(max_height+max_depth))); - pdf_add_array (tmp1, pdf_new_number(1.10*max_width)); - pdf_add_array (tmp1, pdf_new_number(max_height+0.10*(max_height+max_depth))); - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("FontBBox"), tmp1); - } - { - tmp1 = pdf_new_array(); - pdf_add_array (tmp1, pdf_new_number (0.001)); - pdf_add_array (tmp1, pdf_new_number (0.0)); - pdf_add_array (tmp1, pdf_new_number (0.0)); - pdf_add_array (tmp1, pdf_new_number (0.001)); - pdf_add_array (tmp1, pdf_new_number (0.0)); - pdf_add_array (tmp1, pdf_new_number (0.0)); - pdf_add_dict (pk_fonts[i].direct, pdf_new_name ("FontMatrix"), - tmp1); - } - if (pk_encoding_ref == NULL) { - make_pk_encoding_ref(); - } - pdf_add_dict (pk_fonts[i].direct, - pdf_new_name ("Encoding"), - pdf_link_obj (pk_encoding_ref)); - pk_fonts[i].indirect = pdf_ref_obj (pk_fonts[i].direct); - num_pk_fonts += 1; - } else { /* Found no glyph file */ - i = -1; - } - } - return i; -} - -pdf_obj *pk_font_resource (int pk_id) -{ - if (pk_id <0 || pk_id >= num_pk_fonts) { - fprintf (stderr, "pk_id = %d\n", pk_id); - ERROR ("pk_font_resource: Invalid pk_id\n"); - } - return pdf_link_obj (pk_fonts[pk_id].indirect); -} - -char *pk_font_used (int pk_id) -{ - if (pk_id < 0 || pk_id >= num_pk_fonts) { - fprintf (stderr, "pk_id = %d\n", pk_id); - ERROR ("pk_font_used: Invalid pk_id\n"); - } - return pk_fonts[pk_id].used_chars; -} - - -static FILE *pk_file; - -static void do_skip(unsigned long length) -{ - unsigned long i; - for (i=0; i<length; i++) - fgetc (pk_file); - return; -} - -static void add_raster_data (pdf_obj *glyph, long w, long h, - int dyn_f, int run_color, - unsigned char *pk_data, - unsigned char *eod) - - /* First define some macros to be used as "in-line" functions */ -#define advance_nybble() \ -{ \ - if (partial_byte) { \ - partial_byte=0; \ - pk_data++; \ - } else \ - partial_byte=1; \ -} - -#define current_nybble() (partial_byte? (*pk_data%16): (*pk_data/16)) -#define set_bits(n) {\ - int i; \ - for (i=0; i<(n); i++) { \ - row[next_col] |= (128u>>next_bit++); \ - if (next_bit > 7) { \ - next_bit = 0; \ - next_col += 1; \ - } \ - } \ -} - -#define skip_bits(n) {\ - next_col += (n)/8; \ - next_bit += (n)%8; \ - if (next_bit > 7) { \ - next_bit -= 8; \ - next_col += 1; \ - } \ -} - -#define get_bit(p,n) (p[(n)/8] & (128u>>((n)%8))) - -{ - long i, w_bytes, repeat_count, run_count = 0; - int partial_byte = 0; - unsigned char *row; - w_bytes = (w%8 == 0)? w/8: (w/8+1); - row = NEW (w_bytes, unsigned char); - /* Make sure we output "h" rows of data */ - if (dyn_f == 14) { - for (i=0; i<h; i++) { - int next_col = 0, next_bit = 0; - int j; - for (j=0; j<w_bytes; j++) row[j] = 0; - for (j=0; j<w; j++) { - if (get_bit(pk_data,i*w+j)) { - skip_bits(1); - } - else { - set_bits(1); - } - } - pdf_add_stream (glyph, (char *) row, w_bytes); - } - } else - for (i=0; i<h; i++) { - int next_col = 0, next_bit = 0; - int j, row_bits_left = w; - /* Initialize row to all zeros */ - for (j=0; j<w_bytes; j++) row[j] = 0; - repeat_count = 0; - /* Fill any run left over from previous rows */ - if (run_count != 0) { - int nbits; - nbits = MIN (w, run_count); - run_count -= nbits; - switch (run_color) { - case 1: /* This is actually white ! */ - set_bits(nbits); - break; - case 0: - skip_bits(nbits); - break; - } - row_bits_left -= nbits; - } - /* Read nybbles until we have a full row */ - while (pk_data < eod && row_bits_left>0) { - int com_nyb; - long packed = 0; - com_nyb = current_nybble(); - if (com_nyb == 15) { - repeat_count = 1; - advance_nybble(); - continue; - } - if (com_nyb == 14) { - advance_nybble(); - } - /* Get a packed number */ - { - int nyb; - nyb = current_nybble(); - /* Test for single nybble case */ - if (nyb > 0 && nyb <= dyn_f) { - packed = nyb; - advance_nybble(); - } - if (nyb > dyn_f) { - advance_nybble(); - packed = (nyb-dyn_f-1)*16+current_nybble()+dyn_f+1; - advance_nybble(); - } - if (nyb == 0) { - int nnybs = 1; - while (current_nybble() == 0) { - advance_nybble(); - nnybs += 1; - } - packed = 0; - while (nnybs) { - packed = packed*16 + current_nybble(); - advance_nybble(); - nnybs -= 1; - } - packed += (13-dyn_f)*16-15+dyn_f; - } - } - if (com_nyb == 14) { - repeat_count = packed; - continue; - } - { - int nbits; - run_count = packed; - run_color = !run_color; - nbits = MIN (row_bits_left, run_count); - run_count -= nbits; - row_bits_left -= nbits; - switch (run_color) { - case 1: - set_bits(nbits); - break; - case 0: - skip_bits(nbits); - break; - } - } - continue; - } - pdf_add_stream (glyph, (char *) row, w_bytes); - /* Duplicate the row "repeat_count" times */ - for (j=0; j<repeat_count; j++) { - pdf_add_stream (glyph, (char *) row, w_bytes); - } - /* Skip repeat_count interations */ - i += repeat_count; - } - RELEASE (row); -} - -static void do_preamble(void) -{ - /* Check for id byte */ - if (fgetc (pk_file) == 89) { - /* Skip comment */ - do_skip (get_unsigned_byte (pk_file)); - /* Skip other header info. It's normally used for verifying this - is the file wethink it is */ - do_skip (16); - } else { - ERROR ("embed_pk_font: PK ID byte is incorrect. Are you sure this is a PK file?"); - } - return; -} - -#define SHORT_FORM 1 -#define MED_FORM 2 -#define LONG_FORM 3 -static void do_character (unsigned char flag, int pk_id, pdf_obj *char_procs) -{ - int format; - unsigned long packet_length = 0, code = 0; - /* Last three bits of flag determine packet size in a complex way */ - if ((flag & 4) == 0) { - format = SHORT_FORM; - } else if ((flag & 7) == 7) { - format = LONG_FORM; - } else { - format = MED_FORM; - } - if (debug) { - fprintf (stderr, "packet format: %d\n", format); - } - switch (format) { - case SHORT_FORM: - packet_length = (flag & 3) * 256u + get_unsigned_byte (pk_file); - code = get_unsigned_byte (pk_file); - break; - case MED_FORM: - packet_length = (flag & 3) * 65536ul + get_unsigned_pair(pk_file); - code = get_unsigned_byte (pk_file); - break; - case LONG_FORM: - packet_length = get_unsigned_quad (pk_file); - code = get_unsigned_quad (pk_file); - if (code > 255) - ERROR ("Unable to handle long characters in PK files"); - break; - } - if (debug) { - fprintf (stderr, "\npk_do_character: code=%lu, packet_length=%lu\n", - code, packet_length); - } - if ((pk_fonts[pk_id].used_chars)[code%256]) { - int dyn_f; - unsigned long tfm_width = 0; - long dm=0, dx=0, dy=0, w=0, h=0; - int hoff=0, voff=0; - dyn_f = flag/16; - switch (format) { - case SHORT_FORM: - tfm_width = get_unsigned_triple (pk_file); - dm = get_unsigned_byte (pk_file); - w = get_unsigned_byte (pk_file); - h = get_unsigned_byte (pk_file); - hoff = get_signed_byte (pk_file); - voff = get_signed_byte (pk_file); - packet_length -= 8; - break; - case MED_FORM: - tfm_width = get_unsigned_triple (pk_file); - dm = get_unsigned_pair (pk_file); - w = get_unsigned_pair (pk_file); - h = get_unsigned_pair (pk_file); - hoff = get_signed_pair (pk_file); - voff = get_signed_pair (pk_file); - packet_length -= 13; - break; - case LONG_FORM: - tfm_width = get_signed_quad (pk_file); - dx = get_signed_quad (pk_file); - dy = get_signed_quad (pk_file); - w = get_signed_quad (pk_file); - h = get_signed_quad (pk_file); - hoff = get_signed_quad (pk_file); - voff = get_signed_quad (pk_file); - packet_length -= 28; - break; - } - { - pdf_obj *glyph; - double char_width, llx, lly, urx, ury; - double pix2charu; - int len; - pix2charu = 72000.0/((double) font_dpi)/pk_fonts[pk_id].ptsize; - char_width = tfm_width / (double) (1<<20) * 1000.0; - char_width = ROUND (char_width, 0.01); - llx = -hoff*pix2charu; - lly = (voff-h)*pix2charu; - urx = (w-hoff)*pix2charu; - ury = voff*pix2charu; - glyph = pdf_new_stream(STREAM_COMPRESS); - /* The following line is a "metric" for the PDF reader */ - sprintf (work_buffer, "%.2f %.2f %.2f %.2f %.2f %.2f d1", - char_width, 0.0, - llx, lly, urx, ury); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - /* For now add an outline box for debugging purposes */ - /* len = sprintf (work_buffer, " %.2f %.2f m %.2f %.2f l %.2f %.2f l %.2f %.2f l s", - llx, lly, urx, lly, urx, ury, llx, ury); - pdf_add_stream (glyph, work_buffer, len); */ - /* Scale and translate origin to lower left corner for raster data */ - sprintf (work_buffer, " q %.2f 0 0 %.2f %.2f %.2f cm", - w*pix2charu, h*pix2charu, llx, lly); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - if (w != 0 && h != 0 && packet_length != 0) { - unsigned char *pk_data; - long read_len; - sprintf (work_buffer, "\nBI\n/W %ld\n/H %ld\n/IM true\n/BPC 1\n/I true\n", w, h); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - sprintf (work_buffer, "ID "); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - pk_data = NEW (packet_length, unsigned char); - if ((read_len=fread (pk_data, 1, packet_length, pk_file))!= - packet_length) { - fprintf (stderr, "packet length should be %ld, but only %ld bytes were read\n", - packet_length, read_len); - ERROR ("Error reading character packet from PK file\n"); - } - add_raster_data (glyph, w, h, dyn_f, (flag&8)>>3, pk_data, pk_data+packet_length); - RELEASE (pk_data); - sprintf (work_buffer, "\nEI"); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - } /* Otherwise we embed an empty stream :-( */ - sprintf (work_buffer, "\nQ"); - len = strlen (work_buffer); - pdf_add_stream (glyph, work_buffer, len); - sprintf (work_buffer, "x%x", (int)code%256); - pdf_add_dict (char_procs, pdf_new_name (work_buffer), - pdf_ref_obj (glyph)); - pdf_release_obj (glyph); - } - } else { - if (debug) - fprintf (stderr, "\npk_do_character: Skipping code=%ld, length=%ld\n", code, - packet_length); - do_skip (packet_length); - } -} - -#define PK_XXX1 240 -#define PK_XXX2 241 -#define PK_XXX3 242 -#define PK_XXX4 243 -#define PK_YYY 244 -#define PK_POST 245 -#define PK_NO_OP 246 -#define PK_PRE 247 - -static void embed_pk_font (int pk_id) -{ - if (verbose) - fprintf (stderr, "(%s", pk_fonts[pk_id].pk_file_name); - if ((pk_file = MFOPEN (pk_fonts[pk_id].pk_file_name, - FOPEN_RBIN_MODE))) { - int pk_command_byte; - pdf_obj *char_procs; - char_procs = pdf_new_dict(); - while ((pk_command_byte = fgetc(pk_file)) >= 0 && - pk_command_byte != PK_POST) { - if (pk_command_byte < 240) { - do_character (pk_command_byte, pk_id, char_procs); - } else /* A command byte */ - switch (pk_command_byte) { - case PK_NO_OP: - break; - case PK_XXX1: - do_skip(get_unsigned_byte(pk_file)); - break; - case PK_XXX2: - do_skip(get_unsigned_pair(pk_file)); - break; - case PK_XXX3: - do_skip(get_unsigned_triple(pk_file)); - break; - case PK_XXX4: - do_skip(get_unsigned_quad(pk_file)); - break; - case PK_YYY: - do_skip(4); - break; - case PK_PRE: - do_preamble(); - break; - } - } - MFCLOSE (pk_file); - if (verbose) - fprintf (stderr, ")\n"); - pdf_add_dict (pk_fonts[pk_id].direct, - pdf_new_name ("CharProcs"), - pdf_ref_obj(char_procs)); - pdf_release_obj (char_procs); - } else { - ERROR ("embed_pk_font: Failed to open PK file"); - } -} - -void pk_close_all (void) -{ - int i; - if (pk_encoding_ref) - pdf_release_obj (pk_encoding_ref); - for (i=0; i<num_pk_fonts; i++) { - embed_pk_font (i); - pdf_release_obj (pk_fonts[i].direct); - pdf_release_obj (pk_fonts[i].indirect); - RELEASE (pk_fonts[i].tex_name); - RELEASE (pk_fonts[i].pk_file_name); - RELEASE (pk_fonts[i].used_chars); - } - if (pk_fonts) - RELEASE (pk_fonts); -} - diff --git a/Build/source/texk/dvipdfm/pkfont.h b/Build/source/texk/dvipdfm/pkfont.h deleted file mode 100644 index 9d3afac34ba..00000000000 --- a/Build/source/texk/dvipdfm/pkfont.h +++ /dev/null @@ -1,38 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef _PK_FONT_H -#define _PK_FONT_H - -#include "pdfobj.h" - -extern void pk_set_verbose(void); -extern int pk_font (const char *tex_name, double ptsize, int tfm_id, char - *res_name); -extern pdf_obj *pk_font_resource (int pk_id); -extern char *pk_font_used (int pk_id); -extern void pk_close_all (void); -extern void pk_set_dpi (int dpi); - -#endif /* _PK_FONT_H */ diff --git a/Build/source/texk/dvipdfm/pngimage.c b/Build/source/texk/dvipdfm/pngimage.c deleted file mode 100644 index b16ef3ed360..00000000000 --- a/Build/source/texk/dvipdfm/pngimage.c +++ /dev/null @@ -1,146 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include <stdlib.h> -#include <kpathsea/config.h> -#include <kpathsea/c-ctype.h> -#include "system.h" -#include "config.h" -#include "mem.h" -#include "pdfobj.h" - -#ifdef HAVE_LIBPNG -#include <png.h> - -#define TMP "/tmp" - -static unsigned char sigbytes[4]; -int check_for_png (FILE *png_file) -{ - rewind (png_file); - if (fread (sigbytes, 1, sizeof(sigbytes), png_file) != - sizeof(sigbytes) || - (!png_check_sig (sigbytes, sizeof(sigbytes)))) - return 0; - else - return 1; -} - -pdf_obj *start_png_image (FILE *file, char *res_name) -{ - pdf_obj *result = NULL, *dict = NULL; - png_structp png_ptr; - png_infop info_ptr; - unsigned long width, height; - unsigned bit_depth, color_type; - rewind (file); - if (!(png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, - NULL, NULL, NULL)) || - !(info_ptr = png_create_info_struct (png_ptr))) { - fprintf (stderr, "\n\nLibpng failed to initialize\n"); - if (png_ptr) - png_destroy_read_struct(&png_ptr, NULL, NULL); - return NULL; - } - png_init_io (png_ptr, file); - /* png_set_sig_bytes (png_ptr, 0); */ - /* Read PNG header */ - png_read_info (png_ptr, info_ptr); - { - png_color_16 default_background; - png_color_16p file_background; - - default_background.red=255; default_background.green=255; - default_background.blue=255; default_background.gray=0; - default_background.index = 0; - - width = png_get_image_width(png_ptr, info_ptr); - height = png_get_image_height(png_ptr, info_ptr); - color_type = png_get_color_type(png_ptr, info_ptr); - bit_depth = png_get_bit_depth(png_ptr, info_ptr); - /* Convert paletted images to true color */ - if (color_type == PNG_COLOR_TYPE_PALETTE) { - png_set_expand(png_ptr); - } - /* Limit image component depth to 8 bits */ - if (bit_depth == 16) { - png_set_strip_16 (png_ptr); - } - if (png_get_bKGD(png_ptr, info_ptr, &file_background)) { - png_set_background(png_ptr, file_background, - PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); - } else { - png_set_background(png_ptr, &default_background, - PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0); - } - } - { /* Read the image in raw RGB format */ - int i, rowbytes, pdf_bit_depth; - png_bytep *rows; - png_read_update_info(png_ptr, info_ptr); - rows = NEW (height, png_bytep); - rowbytes = png_get_rowbytes(png_ptr, info_ptr); - for (i=0; i<height; i++) { - rows[i] = NEW (rowbytes, png_byte); - } - png_read_image(png_ptr, rows); - result = pdf_new_stream(STREAM_COMPRESS); - dict = pdf_stream_dict(result); - pdf_add_dict (dict, pdf_new_name ("Width"), - pdf_new_number(width)); - pdf_add_dict (dict, pdf_new_name ("Height"), - pdf_new_number(height)); - if (color_type == PNG_COLOR_TYPE_GRAY) { - pdf_bit_depth = bit_depth; - } else { - pdf_bit_depth = 8; - } - pdf_add_dict (dict, pdf_new_name ("BitsPerComponent"), - pdf_new_number(pdf_bit_depth)); - if (color_type == PNG_COLOR_TYPE_GRAY || - color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { - pdf_add_dict (dict, pdf_new_name ("ColorSpace"), - pdf_new_name ("DeviceGray")); - } else{ - pdf_add_dict (dict, pdf_new_name ("ColorSpace"), - pdf_new_name ("DeviceRGB")); - } - for (i=0; i<height; i++) { - pdf_add_stream (result, (char *) rows[i], rowbytes); - RELEASE (rows[i]); - } - RELEASE (rows); - } - { /* Cleanup */ - if (info_ptr) - png_destroy_info_struct(png_ptr, &info_ptr); - if (png_ptr) - png_destroy_read_struct(&png_ptr, NULL, NULL); - } - return result; -} - -#endif /* HAVE_LIBPNG */ - diff --git a/Build/source/texk/dvipdfm/pngimage.h b/Build/source/texk/dvipdfm/pngimage.h deleted file mode 100644 index 8d7f28591fb..00000000000 --- a/Build/source/texk/dvipdfm/pngimage.h +++ /dev/null @@ -1,40 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef PNGIMAGE_H - -#define PNGIMAGE_H - -#include <stdio.h> -#include "pdfobj.h" - -#include "config.h" -#ifdef HAVE_LIBPNG -extern pdf_obj *start_png_image (FILE *file, char *res_name); -extern int check_for_png (FILE *file); -#endif - -#endif /* PNGIMAGE_H */ - diff --git a/Build/source/texk/dvipdfm/psimage.c b/Build/source/texk/dvipdfm/psimage.c deleted file mode 100644 index 4d6497d1d93..00000000000 --- a/Build/source/texk/dvipdfm/psimage.c +++ /dev/null @@ -1,152 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include "system.h" -#include "config.h" -#include "mem.h" -#include "mfileio.h" -#include "pdfobj.h" -#include "psimage.h" -#include "epdf.h" - -static char * distiller_template = NULL; - -void set_distiller_template (char *s) -{ - distiller_template = NEW (strlen(s)+1, char); - strcpy (distiller_template, s); - return; -} - -#define need(n) { unsigned k=(n); \ - if (size+k>max_size) { \ - max_size += k+128; \ - result=RENEW(result,max_size,char); \ - }} - -static char *last_dot (char *s) -{ - char *end; - end = s+strlen(s); - while (--end > s) { - if (*end == '.') - return end; - } - return NULL; -} - -#ifdef HAVE_SYSTEM /* No need to build a command line if we don't - have system() */ -static char *build_command_line (char *psname, char *pdfname) -{ - char *result = NULL, *current; - int size = 0, max_size = 0; - if (distiller_template) { - need(strlen(distiller_template)+1); - for (current =distiller_template; *current != 0; current ++) { - if (*current == '%') { - switch (*(++current)) { - case 'o': /* Output file name */ - need(strlen(pdfname)); - strcpy (result+size, pdfname); - size+=strlen(pdfname); - break; - case 'i': /* Input filename */ - need(strlen(psname)); - strcpy (result+size, psname); - size+=strlen(psname); - break; - case 'b': - { - char *last; - need(strlen(psname)); - if ((last = last_dot (psname))) { - strncpy (result+size, psname, last-psname); - size += last-psname; - } else { - strcpy (result+size, psname); - size += strlen(psname); - } - } - case 0: - break; - case '%': - result[size++] = '%'; - } - } else { - result[size++] = *current; - } - result[size] = 0; - } - } else { - fprintf (stderr, "\nConfig file contains no template to perform PS -> PDF conversion\n"); - } - return result; -} -#endif - -pdf_obj *ps_include (char *file_name, - struct xform_info *p, - char *res_name, double x_user, double y_user) -{ -#ifdef HAVE_SYSTEM - pdf_obj *result = NULL; - char *tmp, *cmd; - FILE *pdf_file = NULL; - /* Get a full qualified tmp name */ - tmp = tmpnam (NULL); - if ((cmd = build_command_line (file_name, tmp))) { - if (!system (cmd) && (pdf_file = MFOPEN (tmp, FOPEN_RBIN_MODE))) { - result = pdf_include_page (pdf_file, p, res_name); - } else { - fprintf (stderr, "\nConversion via ->%s<- failed\n", cmd); - } - if (pdf_file) { - MFCLOSE (pdf_file); - remove (tmp); - } - RELEASE (cmd); - } - return result; -#else - fprintf (stderr, "\n\nCannot include PS/EPS files unless you have and enable system() command.\n"); - return NULL; -#endif -} - -int check_for_ps (FILE *image_file) -{ - rewind (image_file); - mfgets (work_buffer, WORK_BUFFER_SIZE, image_file); - if (!strncmp (work_buffer, "%!", 2)) - return 1; - return 0; -} - -void psimage_close(void) -{ - if (distiller_template) - RELEASE (distiller_template); -} diff --git a/Build/source/texk/dvipdfm/psimage.h b/Build/source/texk/dvipdfm/psimage.h deleted file mode 100644 index b01f85b2946..00000000000 --- a/Build/source/texk/dvipdfm/psimage.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef PSIMAGE_H -#define PSIMAGE_H - -#include "pdfobj.h" -#include "pdfspecial.h" - -extern void set_distiller_template (char *s); -extern pdf_obj *ps_include (char *file_name, - struct xform_info *p, - char *res_name, - double x_user, double y_user); - -extern int check_for_ps (FILE *image_file); -extern void psimage_close (void); -#endif diff --git a/Build/source/texk/dvipdfm/psspecial.c b/Build/source/texk/dvipdfm/psspecial.c deleted file mode 100644 index 4b9329c8b69..00000000000 --- a/Build/source/texk/dvipdfm/psspecial.c +++ /dev/null @@ -1,265 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdlib.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "psspecial.h" -#include "pdfparse.h" -#include "pdfspecial.h" -#include "psimage.h" -#include "mpost.h" -#include "pdfdoc.h" - -#define HOFFSET 1 -#define VOFFSET 2 -#define HSIZE 3 -#define VSIZE 4 -#define HSCALE 5 -#define VSCALE 6 -#define ANGLE 7 -#define CLIP 8 -#define LLX 9 -#define LLY 10 -#define URX 11 -#define URY 12 -#define RWI 13 -#define RHI 14 - -struct keys -{ - char *key; - int id; -} keys[] = { - {"hoffset", HOFFSET}, - {"voffset", VOFFSET}, - {"hsize", HSIZE}, - {"vsize", VSIZE}, - {"hscale", HSCALE}, - {"vscale", VSCALE}, - {"angle", ANGLE}, - {"clip", CLIP}, - {"llx", LLX}, - {"lly", LLY}, - {"urx", URX}, - {"ury", URY}, - {"rwi", RWI}, - {"rhi", RHI}, -}; - -static int parse_psfile (char **start, char *end, double x_user, double y_user) -{ - char *key, *val, *filename = NULL; - double hoffset = 0.0, voffset = 0.0; - double hsize = 0.0, vsize = 0.0; - int error = 0; - struct xform_info *p = new_xform_info(); - skip_white(start, end); - parse_key_val (start, end, &key, &val); - if (key && val) { - filename = val; - RELEASE (key); - skip_white (start, end); - while (*start < end) { - parse_key_val (start, end, &key, &val); - if (key) { - int i; - for (i=0; i<sizeof(keys)/sizeof(keys[0]); i++) { - if (!strcmp (key, keys[i].key)) - break; - } - if (i == sizeof(keys)/sizeof(keys[0])) { - fprintf (stderr, "\nUnknown key in special: %s\n", key); - break; - } - if (val) { - if (is_a_number(val)) { - switch (keys[i].id) { - case HOFFSET: - hoffset = atof (val); - break; - case VOFFSET: - voffset = atof (val); - break; - case HSIZE: - hsize = atof (val); - break; - case VSIZE: - vsize = atof (val); - break; - case HSCALE: - p -> xscale = atof(val)/100.0; - break; - case VSCALE: - p -> yscale = atof(val)/100.0; - break; - case ANGLE: - p -> rotate = atof(val)*M_PI/180.0; - break; - case LLX: - p -> user_bbox = 1; - p -> u_llx = atof(val); - break; - case LLY: - p -> user_bbox = 1; - p -> u_lly = atof(val); - break; - case URX: - p -> user_bbox = 1; - p -> u_urx = atof(val); - break; - case URY: - p -> user_bbox = 1; - p -> u_ury = atof(val); - break; - case RWI: - p -> width = atof(val)/10.0; - break; - case RHI: - p -> height = atof(val)/10.0; - break; - default: - if (keys[i].id == CLIP) { - fprintf (stderr, "\nPSfile key \"clip\" takes no value\n"); - } else - fprintf (stderr, "\nPSfile key \"%s=%s\" not recognized\n", - key, val); - error = 1; - } - } else { - fprintf (stderr, "\nPSfile key \"%s\" assigned nonnumeric value\n", key); - error = 1; - } - RELEASE (val); - } else { /* Keywords without values */ - switch (keys[i].id) { - case CLIP: - p -> clip = 1; - break; - default: - fprintf (stderr, "\nPSfile key \"%s\" needs a value\n", - key); - error = 1; - } - } - RELEASE (key); - } else { - fprintf (stderr, "\nInvalid keyword in PSfile special\n"); - dump (*start, end); - break; - } - skip_white (start, end); - } /* If here and *start == end we got something */ - if (*start == end && validate_image_xform_info (p)) { - pdf_obj *result; - result = embed_image (filename, p, x_user, y_user, NULL); - if (result) - pdf_release_obj (result); - } - } else { - fprintf (stderr, "\nPSfile special has no filename\n"); - error = 1; - } - if (filename) - RELEASE (filename); - release_xform_info (p); - return !error; -} - -static void do_texfig (char **start, char *end) -{ - char *filename; - struct xform_info *p; - skip_white (start, end); - if (*start < end && (filename = parse_val_ident (start, end))) { - p = new_xform_info (); /* Leave this empty */ - p-> yscale = -1; - if (validate_image_xform_info (p)) { - pdf_obj *result; - result = embed_image (filename, p, 0.0, 0.0, NULL); - if (result) - pdf_release_obj (result); - } - release_xform_info (p); - RELEASE (filename); - } else { - fprintf (stderr, "Expecting filename here:\n"); - dump (*start, end); - } -} - - -int ps_parse_special (char *buffer, UNSIGNED_QUAD size, double x_user, - double y_user) -{ - char *start = buffer, *end; - static int block_pending = 0; - static double pending_x=0.0, pending_y=0.0; - int result = 0; - end = buffer + size; - skip_white (&start, end); - if (!strncmp (start, "PSfile", strlen("PSfile")) || - !strncmp (start, "psfile", strlen("PSfile"))) { - result = 1; /* This means it is a PSfile special, not that it was - successful */ - parse_psfile(&start, end, x_user, y_user); - } else if (!strncmp (start, "ps::[begin]", strlen("ps::[begin]"))) { - start += strlen("ps::[begin]"); - block_pending = 1; - pending_x = x_user; - pending_y = y_user; - result = 1; /* Likewise */ - do_raw_ps_special (&start, end, 1, x_user, y_user); - } else if (!strncmp (start, "ps::[end]", strlen("ps::[end]"))) { - if (block_pending) { - start += strlen("ps::[end]"); - do_raw_ps_special (&start, end, 1, pending_x, pending_y); - block_pending = 0; - } else { - fprintf (stderr, "\nps::[end] without ps::[begin] ignored.\n"); - } - result = 1; /* Likewise */ - } else if (!strncmp (start, "ps: plotfile", strlen("ps: plotfile"))) { - /* This is a bizarre, ugly special case.. Not really postscript - code */ - start += strlen ("ps: plotfile"); - result = 1; - do_texfig (&start, end); - } else if (!strncmp (start, "ps::", strlen("ps::")) || - !strncmp (start, "PS::", strlen("PS::"))) { - /* dvipdfm doesn't distinguish between ps:: and ps: */ - start += 4; - result = 1; /* Likewise */ - do_raw_ps_special (&start, end, 1, - block_pending?pending_x:x_user, block_pending?pending_y:y_user); - } else if (!strncmp (start, "ps:", strlen("ps:")) || - !strncmp (start, "PS:", strlen("PS:"))) { - start += 3; - result = 1; /* Likewise */ - do_raw_ps_special (&start, end, 1, - block_pending?pending_x:x_user, block_pending?pending_y:y_user); - } - return result; -} diff --git a/Build/source/texk/dvipdfm/psspecial.h b/Build/source/texk/dvipdfm/psspecial.h deleted file mode 100644 index fc71a07d9b2..00000000000 --- a/Build/source/texk/dvipdfm/psspecial.h +++ /dev/null @@ -1,35 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef PSSPECIAL_H -# define PSSPECIAL_H - -#include "numbers.h" - -extern int ps_parse_special (char *buffer, UNSIGNED_QUAD size, double - x_user, double y_user); - -#endif /* PSSPECIAL_H */ - - diff --git a/Build/source/texk/dvipdfm/standardenc.h b/Build/source/texk/dvipdfm/standardenc.h deleted file mode 100644 index 603f67c3d04..00000000000 --- a/Build/source/texk/dvipdfm/standardenc.h +++ /dev/null @@ -1,112 +0,0 @@ -static char *standardencoding[256] = { - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", "space", "exclam", "quotedbl", - "numbersign", "dollar", "percent", "ampersand", "quoteright", - "parenleft", "parenright", "asterisk", "plus", "comma", - "hyphen", "period", "slash", "zero", "one", - "two", "three", "four", "five", "six", - "seven", "eight", "nine", "colon", "semicolon", - "less", "equal", "greater", "question", "at", - "A", "B", "C", "D", "E", - "F", "G", "H", "I", "J", - "K", "L", "M", "N", "O", - "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", - "Z", "bracketleft", "backslash", "bracketright", "asciicircum", - "underscore", "quoteleft", "a", "b", "c", - "d", "e", "f", "g", "h", - "i", "j", "k", "l", "m", - "n", "o", "p", "q", "r", - "s", "t", "u", "v", "w", - "x", "y", "z", "braceleft", "bar", - "braceright", "asciitilde", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", "exclamdown", "cent", "sterling", "fraction", - "yen", "florin", "section", "currency", "quotesingle", - "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", - "fl", ".notdef", "endash", "dagger", "daggerdbl", - "periodcentered", ".notdef", "paragraph", "bullet", "quotesinglbase", - "quotedblbase", "quotedblright", "guillemotright", "ellipsis", "perthousand", - ".notdef", "questiondown", ".notdef", "grave", "acute", - "circumflex", "tilde", "macron", "breve", "dotaccent", - "dieresis", ".notdef", "ring", "cedilla", ".notdef", - "hungarumlaut", "ogonek", "caron", "emdash", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - "AE", ".notdef", "ordfeminine", ".notdef", ".notdef", - ".notdef", ".notdef", "Lslash", "Oslash", "OE", - "ordmasculine", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", "ae", ".notdef", ".notdef", ".notdef", - "dotlessi", ".notdef", ".notdef", "lslash", "oslash", - "oe", "germandbls", ".notdef", ".notdef", ".notdef", - ".notdef" -}; - -static char *isoencoding[256] = { - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", "space", "exclam", "quotedbl", - "numbersign", "dollar", "percent", "ampersand", "quotesingle", - "parenleft", "parenright", "asterisk", "plus", "comma", - "hyphen", "period", "slash", "zero", "one", - "two", "three", "four", "five", "six", - "seven", "eight", "nine", "colon", "semicolon", - "less", "equal", "greater", "question", "at", - "A", "B", "C", "D", "E", - "F", "G", "H", "I", "J", - "K", "L", "M", "N", "O", - "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", - "Z", "bracketleft", "backslash", "bracketright", "asciicircum", - "underscore", "grave", "a", "b", "c", - "d", "e", "f", "g", "h", - "i", "j", "k", "l", "m", - "n", "o", "p", "q", "r", - "s", "t", "u", "v", "w", - "x", "y", "z", "braceleft", "bar", - "braceright", "asciitilde", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", "dotlessi", - "quoteleft", "quoteright", "circumflex", "tilde", "macron", - "breve", "dotaccent", "dieresis", ".notdef", "ring", - "cedilla", ".notdef", "hungarumlaut", "ogonek", "caron", - "space", "exclamdown", "cent", "sterling", "currency", - "yen", "brokenbar", "section", "dieresis", "copyright", - "ordfeminine", "guillemotleft", "logicalnot", "hyphen", - "registered", - "macron", "degree", "plusminus", "twosuperior", "threesuperior", - "acute", "mu", "paragraph", "periodcentered", "cedilla", - "onesuperior", "ordmasculine", "guillemotright", "onequarter", - "onehalf", - "threequarters", "questiondown", "Agrave", "Aacute", "Acircumflex", - "Atilde", "Adieresis", "Aring", "AE", "Ccedilla", - "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", - "Iacute", "Icircumflex", "Idieresis", "Eth", "Ntilde", - "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", - "multiply", "Oslash", "Ugrave", "Uacute", "Ucircumflex", - "Udieresis", "Yacute", "Thorn", "germandbls", "agrave", - "aacute", "acircumflex", "atilde", "adieresis", "aring", - "ae", "ccedilla", "egrave", "eacute", "ecircumflex", - "edieresis", "igrave", "iacute", "icircumflex", "idieresis", - "eth", "ntilde", "ograve", "oacute", "ocircumflex", - "otilde", "odieresis", "divide", "oslash", "ugrave", - "uacute", "ucircumflex", "udieresis", "yacute", "thorn", - "ydieresis" -}; - diff --git a/Build/source/texk/dvipdfm/system.h b/Build/source/texk/dvipdfm/system.h deleted file mode 100644 index 7eafe555533..00000000000 --- a/Build/source/texk/dvipdfm/system.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _SYSTEM_H_ - -#define _SYSTEM_H_ - -#include <kpathsea/c-auto.h> -#include <kpathsea/kpathsea.h> - -#ifdef WIN32 -# undef ERROR -# undef NO_ERROR -# undef RGB -# undef CMYK -# undef SETLINEJOIN -# undef SETMITERLIMIT -# undef SETLINECAP -# pragma warning(disable : 4101 4018) -#else -# define __cdecl -# define CDECL -#endif /* WIN32 */ - -#endif /* _SYSTEM_H_ */ - - - diff --git a/Build/source/texk/dvipdfm/t1crypt.c b/Build/source/texk/dvipdfm/t1crypt.c deleted file mode 100644 index 59229382fd4..00000000000 --- a/Build/source/texk/dvipdfm/t1crypt.c +++ /dev/null @@ -1,26 +0,0 @@ -unsigned short int r; -unsigned short int c1 = 52845; -unsigned short int c2 = 22719; - -#include "t1crypt.h" - -unsigned char t1_encrypt(unsigned char plain) -{ - unsigned char cipher; - cipher = (plain ^ (r >> 8)); - r = (cipher+r)*c1 + c2; - return cipher; -} - -void t1_crypt_init (unsigned short int key) -{ - r = key; -} - -unsigned char t1_decrypt(unsigned char cipher) -{ - unsigned char plain; - plain = (cipher ^ (r>>8)); - r = (cipher+r)*c1 + c2; - return plain; -} diff --git a/Build/source/texk/dvipdfm/t1crypt.h b/Build/source/texk/dvipdfm/t1crypt.h deleted file mode 100644 index 7f8a35ed905..00000000000 --- a/Build/source/texk/dvipdfm/t1crypt.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef T1CRYPT_H -#define T1CRYPT_H - -#define EEKEY 55665u -#define CHARKEY 4330u - -unsigned char t1_encrypt(unsigned char plain); -void t1_crypt_init (unsigned short int key); -unsigned char t1_decrypt(unsigned char cipher); - -#endif diff --git a/Build/source/texk/dvipdfm/t1fonts.map b/Build/source/texk/dvipdfm/t1fonts.map deleted file mode 100644 index 7638e13f3f4..00000000000 --- a/Build/source/texk/dvipdfm/t1fonts.map +++ /dev/null @@ -1,240 +0,0 @@ -% original t1fonts.map -- Constructed by M. Wicks, 8/17/99 -% -% Format is as follows: -% TeX-name encoding AFM-name PFB-name -% The default behavior is to use the font's built-in -% encoding, to use the TeX-name as the AFM-name, and -% to use the AFM-name as the PFB-name. -% The word "default" may be used in any field to -% specify the default behavior. You can -% also say "none", in the PFB field, for example -% to say that no PFB should be loaded -% -% The following entries are used to force an encoding to work around several -% bugs in Acrobat reader. The ot1 encoding is used to supply an encoding -% external to that the the type 1 font definition. The seems to be necessary -% to be able to search ligatures, for example. The "-r" option -% is used to remap the character positions that Adobe normally does -% not use to higher positions. This seems to fix a variety of problems -% -cmr10 ot1 -r -cmr12 ot1 -r -cmr17 ot1 -r -cmr6 ot1 -r -cmr7 ot1 -r -cmr8 ot1 -r -cmr9 ot1 -r -% cmr5 is encoded somewhat differently -cmr5 -r -% Bold -cmbx10 ot1 -r -cmbx12 ot1 -r -cmbx6 ot1 -r -cmbx7 ot1 -r -cmbx8 ot1 -r -cmbx9 ot1 -r -% Symbol fonts are remapped, but not reencoded -cmex10 -r -cmbsy10 -r -cmsy10 -r -cmsy9 -r -cmsy8 -r -cmsy7 -r -cmsy6 -r -cmsy5 -r -lasy10 -r -lasy9 -r -lasy8 -r -lasy7 -r -lasy6 -r -lasy5 -r -cmbsy7 -r -cmbsy5 -r -euex10 -r -eufm10 -r -eufm7 -r -eufm5 -r -eufb10 -r -eufb7 -r -eufb5 -r -eurb10 -r -eurm10 -r -eurb7 -r -eurm7 -r -eurb5 -r -eurm5 -r -msam10 -r -xycmat10 -r -xycmbt10 -r -xtdash10 -r -xycirc10 -r -xyatip10 -r -xybtip10 -r -% Likewise for math italic -cmmi12 -r -cmmi10 -r -cmmib10 -r -cmmi9 -r -cmmi8 -r -cmmi7 -r -cmmi6 -r -cmmi5 -r -% Misc -cmb10 ot1 -r -cmbxsl10 ot1 -r -cmbxti10 ot1alt -r -cmdunh10 ot1 -r -cmff10 ot1alt -r -cmfi10 ot1alt -r -cmfib8 ot1alt -r -cmssbx10 ot1 -r -cmssdc10 ot1 -r -cmssq8 ot1 -r -cmssqi8 ot1 -r -cmu10 ot1alt -r -cmvtt10 ot1 -r -lcmss8 ot1 -r -lcmssb8 ot1 -r -lcmssi8 ot1 -r -% tt fonts -cmtt10 -r -cmtt12 -r -cmtt8 -r -cmtt9 -r -% Italic -cmti10 ot1alt -r -cmti12 ot1alt -r -cmti7 ot1alt -r -cmti8 ot1alt -r -cmti9 ot1alt -r -% Slanted -cmsl10 ot1 -r -cmsl12 ot1 -r -cmsl8 ot1 -r -cmsl9 ot1 -r -% Roman sanserif -cmss10 ot1 -r -cmss12 ot1 -r -cmss17 ot1 -r -cmss8 ot1 -r -cmss9 ot1 -r -% Sans Serif -cmssi10 ot1 -r -cmssi12 ot1 -r -cmssi17 ot1 -r -cmssi8 ot1 -r -cmssi9 ot1 -r -% - -% CharterBT-Bold -bchb8r 8r bchb8a -% CharterBT-BoldItalic -bchbi8r 8r bchbi8a -% CharterBT-Roman -bchr8r 8r bchr8a -% CharterBT-Italic -bchri8r 8r bchri8a -% AvantGarde-Demi -pagd8r 8r pagd8a -% AvantGarde-DemiOblique -pagdo8r 8r pagdo8a -% AvantGarde-Book -pagk8r 8r pagk8a -% AvantGarde-BookOblique -pagko8r 8r pagko8a -% Bookman-Demi -pbkd8r 8r pbkd8a -% Bookman-DemiItalic -pbkdi8r 8r pbkdi8a -% Bookman-Light -pbkl8r 8r pbkl8a -% Bookman-LightItalic -pbkli8r 8r pbkli8a -% Courier-Bold -pcrb8r 8r Courier-Bold -% Courier-BoldOblique -pcrbo8r 8r Courier-BoldOblique -% Courier -pcrr8r 8r Courier -% Narrow Courier -pcrr8rn 8r Courier -e 0.85 -% Courier-Oblique -pcrro8r 8r Courier-Oblique -% Helvetica-Bold -phvb8r 8r Helvetica-Bold -% Helvetica-Narrow-Bold -phvb8rn 8r Helvetica-Narrow-Bold -% Helvetica-BoldOblique -phvbo8r 8r phvbo8a -% Helvetica-Narrow-BoldOblique -phvbo8rn 8r Helvetica-Narrow-BoldOblique -% -phvbon8r 8r Helvetica-BoldOblique -e 0.82 -phvbrn8r 8r Helvetica-Bold -e 0.82 -% Helvetica -phvr8r 8r phvr8a -% Helvetica-Narrow -phvr8rn 8r Helvetica-Narrow -% Helvetica-Oblique -phvro8r 8r Helvetica-Oblique -% Helvetica-Narrow-Oblique -phvro8rn 8r Helvetica-Narrow-Oblique -phvron8r 8r Helvetica-Oblique -e 0.82 -phvrrn8r Helvetica -e 0.82 -% NewCenturySchlbk-Bold -pncb8r 8r pncb8a -% NewCenturySchlbk-BoldItalic -pncbi8r 8r pncbi8a -pncbo8r 8r pncb8a -s 0.167 -% NewCenturySchlbk-Roman -pncr8r 8r pncr8a -% NewCenturySchlbk-Italic -pncri8r 8r pncri8a -pncro8r 8r pncri8a -s 0.167 -% Palatino-Bold -pplb8r 8r pplb8a -% Palatino-BoldItalic -pplbi8r 8r pplbi8a -pplbo8r 8r pplb8a -s 0.167 -pplbu8r 8r pplbi8a -s -0.1763 -% Palatino-Roman -pplr8r 8r pplr8a -% Palatino-Italic -pplri8r 8r pplri8a -pplro8r 8r pplr8a -s 0.167 -pplrre8r 8r pplr8a -e 1.2 -pplrrn8r 8r pplr8a -e 0.82 -pplru8r 8r pplri8a -s -0.1763 -% Symbol -psyr none Symbol -psyro none Symbol -s 0.167 -% Times-Bold -ptmb8r 8r Times-Bold -% Times-BoldItalic -ptmbi8r 8r Times-Italic -% Times-Roman -ptmr8r 8r Times-Roman -% Times-Italic -ptmri8r 8r Times-Italic -ptmbo8r 8r Times-Bold -s 0.167 -ptmro8r 8r Times-Roman -s 0.167 -ptmrre8r 8r Times-Roman -e 1.2 -ptmrrn8r 8r Times-Roman -e 0.82 -% Utopia-Bold -putb8r 8r putb8a -% Utopia-BoldItalic -putbi8r 8r putbi8a -% Utopia-Regular -putr8r 8r putr8a -% Utopia-Italic -putri8r 8r putri8a -putbo8r 8r putb8a -s 0.167 -putro8r 8r putr8a -s 0.167 -% ZapfChancery-MediumItalic -pzcmi8r 8r pzcmi8a -% ZapfDingbats -pzdr none ZapfDingbats -% LaTeX Fonts having short file names -lcirclew10 none lcirclew -r -lcircle10 none lcircle1 -r -line10 -r diff --git a/Build/source/texk/dvipdfm/tfm.c b/Build/source/texk/dvipdfm/tfm.c deleted file mode 100644 index d325f405e0e..00000000000 --- a/Build/source/texk/dvipdfm/tfm.c +++ /dev/null @@ -1,714 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "pdflimits.h" -#include "numbers.h" -#include "tfm.h" -#include "config.h" - -#define FWBASE ((double) (1<<20)) - -static char tfm_verbose = 0; -static char tfm_debug = 0; - -/* TFM Record structure - Multiple TFM's may be read in at once */ - -struct a_tfm -{ - UNSIGNED_QUAD wlenfile, wlenheader; - UNSIGNED_QUAD bc, ec; - UNSIGNED_QUAD nwidths, nheights, ndepths; - UNSIGNED_QUAD nitcor, nlig, nkern, nextens; - UNSIGNED_QUAD nfonparm; - UNSIGNED_QUAD font_direction; /* Used only in OFMs. TFMs don't have - this field*/ - UNSIGNED_QUAD nco, ncw, npc; - SIGNED_QUAD *header; - UNSIGNED_QUAD *char_info; - UNSIGNED_PAIR *width_index; - UNSIGNED_BYTE *height_index; - UNSIGNED_BYTE *depth_index; - SIGNED_QUAD *width; - SIGNED_QUAD *height; - SIGNED_QUAD *depth; - char *tex_name; - fixword *unpacked_widths; - fixword *unpacked_heights; - fixword *unpacked_depths; -}; - -void a_tfm_init (struct a_tfm *a_tfm) -{ - a_tfm->header = NULL; - a_tfm->char_info = NULL; - a_tfm->width_index = NULL; - a_tfm->height_index = NULL; - a_tfm->depth_index = NULL; - a_tfm->width = NULL; - a_tfm->height = NULL; - a_tfm->depth = NULL; - a_tfm->unpacked_widths = NULL; - a_tfm->unpacked_heights = NULL; - a_tfm->unpacked_depths = NULL; -} - - -struct a_tfm *tfm = NULL; -static unsigned numtfms = 0, max_tfms = 0; /* numtfms should equal - numfonts in dvi.c */ -static void tfms_need (unsigned n) -{ - if (n > max_tfms) { - max_tfms = MAX (max_tfms+MAX_FONTS, n); - tfm = RENEW (tfm, max_tfms, struct a_tfm); - } -} - -/* External Routine */ - -void tfm_set_verbose (void) -{ - tfm_verbose += 1; -} - -void tfm_set_debug (void) -{ - tfm_verbose = 1; - tfm_debug = 1; -} - -static UNSIGNED_PAIR sum_of_tfm_sizes (struct a_tfm *a_tfm) -{ - unsigned long result = 6; - result += (a_tfm -> ec - a_tfm -> bc + 1); - result += a_tfm -> wlenheader; - result += a_tfm -> nwidths; - result += a_tfm -> nheights; - result += a_tfm -> ndepths; - result += a_tfm -> nitcor; - result += a_tfm -> nlig; - result += a_tfm -> nkern; - result += a_tfm -> nextens; - result += a_tfm -> nfonparm; - return result; -} - -static SIGNED_QUAD sum_of_ofm_sizes (struct a_tfm *a_tfm) -{ - unsigned long result = 14; - result += 2*(a_tfm -> ec - a_tfm -> bc + 1); - result += a_tfm -> wlenheader; - result += a_tfm -> nwidths; - result += a_tfm -> nheights; - result += a_tfm -> ndepths; - result += a_tfm -> nitcor; - result += 2*(a_tfm -> nlig); - result += a_tfm -> nkern; - result += 2*(a_tfm -> nextens); - result += a_tfm -> nfonparm; - return result; -} - - -static void get_sizes (FILE *tfm_file, SIGNED_QUAD tfm_file_size, - struct a_tfm *a_tfm) -{ - a_tfm -> wlenfile = get_unsigned_pair (tfm_file); - a_tfm -> wlenheader = get_unsigned_pair (tfm_file); - a_tfm -> bc = get_unsigned_pair (tfm_file); - a_tfm -> ec = get_unsigned_pair (tfm_file); - if (a_tfm -> ec < a_tfm -> bc) { - ERROR ("TFM file error (ec < bc)\n"); - } - a_tfm -> nwidths = get_unsigned_pair (tfm_file); - a_tfm -> nheights = get_unsigned_pair (tfm_file); - a_tfm -> ndepths = get_unsigned_pair (tfm_file); - a_tfm -> nitcor = get_unsigned_pair (tfm_file); - a_tfm -> nlig = get_unsigned_pair (tfm_file); - a_tfm -> nkern = get_unsigned_pair (tfm_file); - a_tfm -> nextens = get_unsigned_pair (tfm_file); - a_tfm -> nfonparm = get_unsigned_pair (tfm_file); - if (tfm_debug) { - fprintf (stderr, "\nComputed size (words)%d\n", sum_of_tfm_sizes (a_tfm)); - fprintf (stderr, "Stated size (words)%ld\n", a_tfm -> wlenfile); - fprintf (stderr, "Actual size (bytes)%ld\n", tfm_file_size); - } - if ( a_tfm -> wlenfile != tfm_file_size/4 || - sum_of_tfm_sizes (a_tfm) != a_tfm -> wlenfile) { - if (tfm_file_size/4 > a_tfm -> wlenfile) { - fprintf (stderr, "\nHmm. A TFM file is larger than it says it is!"); - fprintf (stderr, "\nProceeding nervously...\n"); - } else { - ERROR ("TFM file problem. Table sizes don't agree.\n"); - } - } - return; -} - -static int ofm_get_sizes (FILE *ofm_file, UNSIGNED_QUAD ofm_file_size, - struct a_tfm *a_tfm) -{ - SIGNED_QUAD level; - level = get_signed_quad (ofm_file); - a_tfm -> wlenfile = get_signed_quad (ofm_file); - a_tfm -> wlenheader = get_signed_quad (ofm_file); - a_tfm -> bc = get_signed_quad (ofm_file); - a_tfm -> ec = get_signed_quad (ofm_file); - if (a_tfm -> ec < a_tfm -> bc) { - ERROR ("OFM file error (ec < bc)\n"); - } - a_tfm -> nwidths = get_signed_quad (ofm_file); - a_tfm -> nheights = get_signed_quad (ofm_file); - a_tfm -> ndepths = get_signed_quad (ofm_file); - a_tfm -> nitcor = get_signed_quad (ofm_file); - a_tfm -> nlig = get_signed_quad (ofm_file); - a_tfm -> nkern = get_signed_quad (ofm_file); - a_tfm -> nextens = get_signed_quad (ofm_file); - a_tfm -> nfonparm = get_signed_quad (ofm_file); - a_tfm -> font_direction = get_signed_quad (ofm_file); - if (a_tfm->font_direction) { - fprintf (stderr, "Warning: I may be interpreting a font direction incorrectly.\n"); - } - if (level == 0) { - if (a_tfm -> wlenfile != ofm_file_size/4 || - sum_of_ofm_sizes (a_tfm) != a_tfm -> wlenfile) { - ERROR ("OFM file problem. Table sizes don't agree.\n"); - } - if (level == 0 && tfm_debug) { - fprintf (stderr, "Computed size (words)%ld\n", sum_of_ofm_sizes (a_tfm)); - fprintf (stderr, "Stated size (words)%ld\n", a_tfm -> wlenfile); - fprintf (stderr, "Actual size (bytes)%ld\n", ofm_file_size); - } - } else if (level == 1) { - a_tfm -> nco = get_signed_quad (ofm_file); - a_tfm -> ncw = get_signed_quad (ofm_file); - a_tfm -> npc = get_signed_quad (ofm_file); - seek_absolute (ofm_file, 4*(a_tfm -> nco)); - } else { - ERROR ("Can't handle OFM files with level > 1"); - } - return (int) (level); -} - -static void dump_sizes (struct a_tfm *a_tfm) -{ - fprintf (stderr, "\nwlenfile: %ld, ", a_tfm -> wlenfile); - fprintf (stderr, "wlenheader: %ld\n", a_tfm -> wlenheader); - fprintf (stderr, "bc: %ld, ", a_tfm -> bc); - fprintf (stderr, "ec: %ld, ", a_tfm -> ec); - fprintf (stderr, "nwidths: %ld, ", a_tfm -> nwidths); - fprintf (stderr, "nheights: %ld, ", a_tfm -> nheights); - fprintf (stderr, "ndepths: %ld\n", a_tfm -> ndepths); - fprintf (stderr, "nitcor: %ld, ", a_tfm -> nitcor); - fprintf (stderr, "nlig: %ld, ", a_tfm -> nlig); - fprintf (stderr, "nkern: %ld, ", a_tfm -> nkern); - fprintf (stderr, "nextens: %ld, ", a_tfm -> nextens); - fprintf (stderr, "nfonparm: %ld\n", a_tfm -> nfonparm); - return; -} - - -static void get_fix_word_array (FILE *tfm_file, SIGNED_QUAD *a_word, - SIGNED_QUAD length) -{ - unsigned i; - for (i=0; i< length; i++) { - a_word[i] = get_signed_quad (tfm_file); - } - return; -} - -static void get_unsigned_quad_array (FILE *tfm_file, UNSIGNED_QUAD *a_word, - SIGNED_QUAD length) -{ - unsigned i; - for (i=0; i< length; i++) { - a_word[i] = get_unsigned_quad (tfm_file); - } - return; -} - -static void do_fix_word_array (FILE *tfm_file, SIGNED_QUAD **a, SIGNED_QUAD len) -{ - if (len != 0) { - *a = NEW (len, SIGNED_QUAD); - get_fix_word_array (tfm_file, *a, len); - } else - *a = NULL; - return; -} - -static void do_unsigned_quad_array (FILE *tfm_file, UNSIGNED_QUAD **a, UNSIGNED_PAIR len) -{ - if (len != 0) { - *a = NEW (len, UNSIGNED_QUAD); - get_unsigned_quad_array (tfm_file, *a, len); - } else - *a = NULL; - return; -} -static void unpack_widths(struct a_tfm *a_tfm) -{ - int i; - UNSIGNED_QUAD charinfo; - UNSIGNED_PAIR width_index; - a_tfm -> unpacked_widths = NEW (256, fixword); - for (i=0; i<256; i++) { - (a_tfm ->unpacked_widths)[i] = 0; - } - for (i=(a_tfm->bc); i<=(a_tfm->ec); i++ ) { - charinfo = (a_tfm->char_info)[i-(a_tfm->bc)]; - width_index = (charinfo / 16777216ul); - (a_tfm->unpacked_widths)[i] = (a_tfm->width)[width_index]; - } - return; -} - -static void unpack_heights(struct a_tfm *a_tfm) -{ - int i; - UNSIGNED_QUAD charinfo; - UNSIGNED_PAIR height_index; - a_tfm -> unpacked_heights = NEW (256, fixword); - for (i=0; i<256; i++) { - (a_tfm ->unpacked_heights)[i] = 0; - } - for (i=(a_tfm->bc); i<=(a_tfm->ec); i++ ) { - charinfo = (a_tfm->char_info)[i-(a_tfm->bc)]; - height_index = (charinfo / 0x100000ul) & 0xf; - (a_tfm->unpacked_heights)[i] = (a_tfm->height)[height_index]; - } - return; -} - -static void unpack_depths(struct a_tfm *a_tfm) -{ - int i; - UNSIGNED_QUAD charinfo; - UNSIGNED_PAIR depth_index; - a_tfm -> unpacked_depths = NEW (256, fixword); - for (i=0; i<256; i++) { - (a_tfm ->unpacked_depths)[i] = 0; - } - for (i=(a_tfm->bc); i<=(a_tfm->ec); i++ ) { - charinfo = (a_tfm->char_info)[i-(a_tfm->bc)]; - depth_index = (charinfo / 0x10000ul) & 0xf; - (a_tfm->unpacked_depths)[i] = (a_tfm->depth)[depth_index]; - } - return; -} - -static void get_arrays (FILE *tfm_file, struct a_tfm *a_tfm) -{ - if (tfm_debug) fprintf (stderr, "Reading %ld word header\n", - a_tfm->wlenheader); - do_fix_word_array (tfm_file, &(a_tfm -> header), a_tfm -> wlenheader); - if (tfm_debug) fprintf (stderr, "Reading %ld char_infos\n", - (a_tfm->ec)-(a_tfm->bc)+1); - do_unsigned_quad_array (tfm_file, &(a_tfm -> char_info), (a_tfm->ec)-(a_tfm->bc)+1); - if (tfm_debug) fprintf (stderr, "Reading %ld widths\n", - a_tfm -> nwidths); - do_fix_word_array (tfm_file, &(a_tfm -> width), a_tfm -> nwidths); - if (tfm_debug) fprintf (stderr, "Reading %ld heights\n", - a_tfm -> nheights); - do_fix_word_array (tfm_file, &(a_tfm -> height), a_tfm -> nheights); - if (tfm_debug) fprintf (stderr, "Reading %ld depths\n", - a_tfm -> ndepths); - do_fix_word_array (tfm_file, &(a_tfm -> depth), a_tfm -> ndepths); - unpack_widths (a_tfm); - unpack_heights (a_tfm); - unpack_depths (a_tfm); - return; -} - -static void do_ofm_zero_char_info (FILE *tfm_file, struct a_tfm *a_tfm) -{ - unsigned i; - UNSIGNED_QUAD num_chars; - num_chars = a_tfm->ec - a_tfm->bc + 1; - if (num_chars != 0) { - a_tfm -> width_index = NEW (num_chars, UNSIGNED_PAIR); - a_tfm -> height_index = NEW (num_chars, UNSIGNED_BYTE); - a_tfm -> depth_index = NEW (num_chars, UNSIGNED_BYTE); - a_tfm -> unpacked_widths = NEW (a_tfm->bc+num_chars, fixword); - a_tfm -> unpacked_heights = NEW (a_tfm->bc+num_chars, fixword); - a_tfm -> unpacked_depths = NEW (a_tfm->bc+num_chars, fixword); - } - for (i=0; i<num_chars; i++) { - (a_tfm->width_index)[i] = get_unsigned_pair (tfm_file); - (a_tfm->height_index)[i] = get_unsigned_byte (tfm_file); - (a_tfm->depth_index)[i] = get_unsigned_byte (tfm_file); - /* Ignore remaining quad */ - get_unsigned_quad (tfm_file); - } -} - -static void do_ofm_one_char_info (FILE *tfm_file, struct a_tfm *a_tfm) -{ - UNSIGNED_QUAD i; - UNSIGNED_QUAD num_char_infos, char_infos_read; - UNSIGNED_QUAD num_chars; - UNSIGNED_QUAD char_info_size; - char_info_size = 3 + (a_tfm->npc/2); - num_char_infos = (a_tfm -> ncw) / char_info_size; - num_chars = (a_tfm->ec - a_tfm ->bc) + 1; - if (tfm_debug) - fprintf (stderr, "\nReading %ld level 1 chars\n", num_chars); - if (num_chars != 0) { - a_tfm -> width_index = NEW (num_chars, UNSIGNED_PAIR); - a_tfm -> height_index = NEW (num_chars, UNSIGNED_BYTE); - a_tfm -> depth_index = NEW (num_chars, UNSIGNED_BYTE); - a_tfm -> unpacked_widths = NEW (a_tfm->bc+num_chars, fixword); - a_tfm -> unpacked_heights = NEW (a_tfm->bc+num_chars, fixword); - a_tfm -> unpacked_depths = NEW (a_tfm->bc+num_chars, fixword); - } - for (i=0, char_infos_read = 0; i<num_chars && char_infos_read < num_char_infos; i++) { - int repeats, j; - (a_tfm->width_index)[i] = get_unsigned_pair (tfm_file); - (a_tfm->height_index)[i] = get_unsigned_byte (tfm_file); - (a_tfm->depth_index)[i] = get_unsigned_byte (tfm_file); - /* Ignore next quad */ - get_unsigned_quad (tfm_file); - repeats = get_unsigned_pair (tfm_file); - /* Skip params */ - for (j=0; j<a_tfm->npc; j++) { - get_unsigned_pair (tfm_file); - } - /* Remove word padding if necessary */ - if (ISEVEN (a_tfm->npc)){ - get_unsigned_pair (tfm_file); - } - char_infos_read += 1; - if (i+repeats > num_chars) - ERROR ("repeats causes number of characters to be exceeded"); - for (j=0; j<repeats; j++) { - a_tfm->width_index[i+j+1] = a_tfm->width_index[i]; - a_tfm->height_index[i+j+1] = a_tfm->height_index[i]; - a_tfm->depth_index[i+j+1] = a_tfm->depth_index[i]; - } - /* Skip ahead because we have already handled repeats */ - i += repeats; - } - if (tfm_debug) { - fprintf (stderr, "\npackets read = %ld/%ld\n", char_infos_read, - num_char_infos); - fprintf (stderr, "\ncharacters defined = %ld/%ld\n", i, num_chars); - } -} - -static void ofm_unpack_arrays (struct a_tfm *a_tfm, UNSIGNED_QUAD num_chars) -{ - unsigned i; - for (i=0; i<num_chars; i++) { - (a_tfm->unpacked_widths)[a_tfm->bc+i] = (a_tfm->width)[(a_tfm->width_index)[i]]; - (a_tfm->unpacked_heights)[a_tfm->bc+i] = (a_tfm->height)[(a_tfm->height_index)[i]]; - (a_tfm->unpacked_depths)[a_tfm->bc+i] = (a_tfm->depth)[(a_tfm->depth_index)[i]]; - } -} - -static void ofm_get_arrays (FILE *tfm_file, struct a_tfm *a_tfm, int level) -{ - switch (level) { - case 0: - if (tfm_debug) fprintf (stderr, "Reading %ld word header\n", - a_tfm->wlenheader); - do_fix_word_array (tfm_file, &(a_tfm -> header), a_tfm -> - wlenheader); - if (tfm_debug) fprintf (stderr, "Reading %ld char_infos\n", - (a_tfm->ec)-(a_tfm->bc)+1); - do_ofm_zero_char_info (tfm_file, a_tfm); - break; - case 1: - if (tfm_debug) fprintf (stderr, "Reading %ld char_infos words\n", - a_tfm->ncw); - do_ofm_one_char_info (tfm_file, a_tfm); - break; - default: - ERROR ("level != 0 or 1 in ofm_get_arrays()"); - } - if (tfm_debug) fprintf (stderr, "Reading %ld widths\n", - a_tfm -> nwidths); - do_fix_word_array (tfm_file, &(a_tfm -> width), a_tfm -> nwidths); - if (tfm_debug) fprintf (stderr, "Reading %ld heights\n", - a_tfm -> nheights); - do_fix_word_array (tfm_file, &(a_tfm -> height), a_tfm -> nheights); - if (tfm_debug) fprintf (stderr, "Reading %ld depths\n", - a_tfm -> ndepths); - do_fix_word_array (tfm_file, &(a_tfm -> depth), a_tfm -> ndepths); - ofm_unpack_arrays (a_tfm, (a_tfm->ec)-(a_tfm->bc)+1); - return; -} - -static void get_ofm (FILE *ofm_file, UNSIGNED_QUAD ofm_file_size, - struct a_tfm *a_tfm) -{ - int level; - level = ofm_get_sizes (ofm_file, ofm_file_size, a_tfm); - ofm_get_arrays (ofm_file, a_tfm, level); - return; -} - -static void get_tfm (FILE *tfm_file, UNSIGNED_QUAD tfm_file_size, - struct a_tfm *a_tfm) -{ - get_sizes (tfm_file, tfm_file_size, a_tfm); - get_arrays (tfm_file, a_tfm); - return; -} - -/* External Routine */ - -int tfm_open (const char *tfm_name) -{ - FILE *tfm_file; - int i; - UNSIGNED_QUAD tfm_file_size; - char *full_tfm_file_name; - for (i=0; i<numtfms; i++) { - if (!strcmp (tfm_name, tfm[i].tex_name)) - break; - } - if (i == numtfms) { /* Name hasn't already been loaded */ - if ((full_tfm_file_name = kpse_find_tfm (tfm_name))) { - tfms_need (numtfms+1); - a_tfm_init (tfm+numtfms); - if (!(tfm_file = MFOPEN (full_tfm_file_name, FOPEN_RBIN_MODE))) { - fprintf (stderr, "\n%s: ", tfm_name); - ERROR ("Specified TFM file cannot be opened"); - } - if (tfm_verbose == 1) - fprintf (stderr, "(TFM:%s", tfm_name); - if (tfm_verbose > 1) - fprintf (stderr, "(TFM:%s", full_tfm_file_name); - if ((tfm_file_size = file_size(tfm_file)) < 24) { - ERROR ("TFM file too small to be a valid file\n"); - } - get_tfm (tfm_file, tfm_file_size, &tfm[numtfms]); -#ifdef HAVE_OMEGA_FORMATS - } else if ((full_tfm_file_name = kpse_find_ofm (tfm_name))) { - tfms_need (numtfms+1); - a_tfm_init (tfm+numtfms); - if (!(tfm_file = MFOPEN (full_tfm_file_name, FOPEN_RBIN_MODE))) { - fprintf (stderr, "\n%s: ", tfm_name); - ERROR ("OFM file cannot be opened"); - } - if (tfm_verbose == 1) - fprintf (stderr, "(OFM:%s", tfm_name); - if (tfm_verbose > 1) - fprintf (stderr, "(OFM:%s", full_tfm_file_name); - if ((tfm_file_size = file_size(tfm_file)) < 24) { - ERROR ("OFM file too small to be a valid file\n"); - } - get_ofm (tfm_file, tfm_file_size, &tfm[numtfms]); -#endif - } else { - fprintf (stderr, "\n%s: ", tfm_name); - ERROR ("Unable to find a TFM or OFM file"); - } - tfm[numtfms].tex_name = NEW (strlen(tfm_name)+1, char); - strcpy (tfm[numtfms].tex_name, tfm_name); - MFCLOSE (tfm_file); - if (tfm_verbose) - fprintf (stderr, ")"); - if (tfm_verbose>3) { - dump_sizes (&tfm[numtfms]); - } - return numtfms++; - } else { /* Name has been loaded before */ - return i; - } -} - -void tfm_close_all(void) -{ - int i; - for (i=0; i<numtfms; i++) { - if (tfm[i].header) - RELEASE (tfm[i].header); - if (tfm[i].char_info) - RELEASE (tfm[i].char_info); - if (tfm[i].width) - RELEASE (tfm[i].width); - if (tfm[i].height) - RELEASE (tfm[i].height); - if (tfm[i].depth) - RELEASE (tfm[i].depth); - RELEASE (tfm[i].tex_name); - RELEASE (tfm[i].unpacked_widths); - RELEASE (tfm[i].unpacked_heights); - RELEASE (tfm[i].unpacked_depths); - if (tfm[i].width_index) - RELEASE (tfm[i].width_index); - if (tfm[i].height_index) - RELEASE (tfm[i].height_index); - if (tfm[i].depth_index) - RELEASE (tfm[i].depth_index); - } - if (tfm) - RELEASE (tfm); -} - -/* tfm_get_width returns the width of the font - as a (double) fraction of the design size */ -double tfm_get_width (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_widths && ch <= tfm[font_id].ec) - return (double) (tfm[font_id].unpacked_widths)[ch] / FWBASE; - else return 0.0; -} - -double tfm_get_height (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_heights && ch <= tfm[font_id].ec) - return (double) (tfm[font_id].unpacked_heights)[ch] / FWBASE; - else return 0.0; -} - -double tfm_get_depth (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_depths && ch <= tfm[font_id].ec) - return (tfm[font_id].unpacked_depths)[ch]/FWBASE; - else return 0.0; -} - -fixword tfm_get_fw_width (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_widths && ch <= tfm[font_id].ec) { - return (tfm[font_id].unpacked_widths)[ch]; - } - return 0; -} - -fixword tfm_get_fw_height (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_heights && ch <= tfm[font_id].ec) - return (tfm[font_id].unpacked_heights)[ch]; - return 0; -} - -fixword tfm_get_fw_depth (int font_id, UNSIGNED_QUAD ch) -{ - if (tfm[font_id].unpacked_depths && ch <= tfm[font_id].ec) - return (tfm[font_id].unpacked_depths)[ch]; - return 0; -} - -fixword tfm_string_width (int font_id, unsigned char *s, unsigned len) -{ - fixword result = 0; - unsigned i; - if (tfm[font_id].unpacked_widths) - for (i=0; i<len; i++) { - if (s[i] <= tfm[font_id].ec) - result += tfm[font_id].unpacked_widths[s[i]]; - } - return result; -} - -fixword tfm_string_depth (int font_id, unsigned char *s, unsigned len) -{ - fixword result = 0; - unsigned i; - if (tfm[font_id].unpacked_depths) - for (i=0; i<len; i++) { - if (s[i] <= tfm[font_id].ec) - result = MAX(result, tfm[font_id].unpacked_depths[s[i]]); - } - return result; -} - -fixword tfm_string_height (int font_id, unsigned char *s, unsigned len) -{ - fixword result = 0; - unsigned i; - if (tfm[font_id].unpacked_heights) - for (i=0; i<len; i++) { - if (s[i] <= tfm[font_id].ec) - result = MAX(result, tfm[font_id].unpacked_heights[s[i]-tfm[font_id].bc]); - } - return result; -} - -UNSIGNED_PAIR tfm_get_firstchar (int font_id) -{ - return tfm[font_id].bc; -} - -UNSIGNED_PAIR tfm_get_lastchar (int font_id) -{ - return tfm[font_id].ec; -} - -double tfm_get_design_size (int font_id) -{ - return ((tfm[font_id].header))[1]/FWBASE*(72.0/72.27); -} - - -double tfm_get_max_width (int font_id) -{ - SIGNED_QUAD max = 0; - int i; - for (i=0; i<tfm[font_id].nwidths; i++) { - if ((tfm[font_id].width)[i] > max) - max = (tfm[font_id].width)[i]; - } - return (max/FWBASE); -} - -int tfm_is_fixed_width (int font_id) -{ - /* We always have two widths since width[0] = 0. - A fixed width font will have width[1] = something - and not have any other widths */ - return (tfm[font_id].nwidths == 2); -} - -double tfm_get_max_height (int font_id) -{ - SIGNED_QUAD max = 0; - int i; - for (i=0; i<tfm[font_id].nheights; i++) { - if ((tfm[font_id].height)[i] > max) - max = (tfm[font_id].height)[i]; - } - return (max/FWBASE); -} - -double tfm_get_max_depth (int font_id) -{ - SIGNED_QUAD max = 0; - int i; - for (i=0; i<tfm[font_id].ndepths; i++) { - if ((tfm[font_id].depth)[i] > max) - max = (tfm[font_id].depth)[i]; - } - return (max/FWBASE); -} diff --git a/Build/source/texk/dvipdfm/tfm.h b/Build/source/texk/dvipdfm/tfm.h deleted file mode 100644 index 9a717dcf266..00000000000 --- a/Build/source/texk/dvipdfm/tfm.h +++ /dev/null @@ -1,63 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef TFM_H - -#define TFM_H - -#include "numbers.h" - -extern void tfm_set_verbose(void); -extern void tfm_set_debug(void); - -extern int tfm_open(const char * tex_font_name); -extern void tfm_close_all (void); - -extern double tfm_get_width (int font_id, UNSIGNED_QUAD ch); -extern double tfm_get_height (int font_id, UNSIGNED_QUAD ch); -extern double tfm_get_depth (int font_id, UNSIGNED_QUAD ch); -extern fixword tfm_get_fw_width (int font_id, UNSIGNED_QUAD ch); -extern fixword tfm_get_fw_height (int font_id, UNSIGNED_QUAD ch); -extern fixword tfm_get_fw_depth (int font_id, UNSIGNED_QUAD ch); -extern fixword tfm_string_width (int font_id, unsigned char *s, - unsigned len); -extern fixword tfm_string_depth (int font_id, unsigned char *s, - unsigned len); -extern fixword tfm_string_height (int font_id, unsigned char *s, - unsigned len); -extern double tfm_get_space (int font_id); -extern double tfm_get_it_slant (int font_id); -extern double tfm_get_x_height (int font_id); - -extern UNSIGNED_PAIR tfm_get_firstchar (int font_id); -extern UNSIGNED_PAIR tfm_get_lastchar (int font_id); - -extern double tfm_get_design_size (int font_id); -extern double tfm_get_max_height (int font_id); -extern double tfm_get_max_width (int font_id); -extern int tfm_is_fixed_width (int font_id); -extern double tfm_get_max_depth (int font_id); - -#endif /* TFM_H */ diff --git a/Build/source/texk/dvipdfm/thumbnail.c b/Build/source/texk/dvipdfm/thumbnail.c deleted file mode 100644 index 003822745fc..00000000000 --- a/Build/source/texk/dvipdfm/thumbnail.c +++ /dev/null @@ -1,108 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include <stdlib.h> -#include <kpathsea/config.h> -#include <kpathsea/c-ctype.h> -#include "system.h" -#include "config.h" -#include "mfileio.h" -#include "mem.h" -#include "pdfobj.h" -#include "thumbnail.h" - -#ifdef HAVE_LIBPNG -#include <png.h> -#include "pngimage.h" - -#define TMP "/tmp" - -static char *guess_name (const char *thumb_filename) -{ - /* Build path name for anticipated thumbnail image */ - char *tmpdir, *tmpname; - if (!(tmpdir = getenv ("TMPDIR")) && - !(tmpdir = getenv ("TEMP")) && - !(tmpdir = getenv ("TMP"))) - tmpdir = TMP; - tmpname = NEW (strlen(tmpdir)+strlen(thumb_filename)+strlen(DIR_SEP_STRING)+1, - char); - strcpy (tmpname, tmpdir); - if (!IS_DIR_SEP (tmpname[strlen(tmpname)-1])) { - strcat (tmpname, DIR_SEP_STRING); - } - strcat (tmpname, thumb_filename); - return tmpname; -} - -static char thumbnail_remove_opt = 0; -void thumb_remove(void) -{ - thumbnail_remove_opt = 1; -} - -static unsigned char sigbytes[4]; - -pdf_obj *do_thumbnail (const char *thumb_filename) -{ - pdf_obj *image_stream = NULL, *image_ref = NULL; - int found_in_cwd = 0; - FILE *thumb_file; - char *guess_filename = NULL; - guess_filename = guess_name (thumb_filename); - if ((thumb_file = MFOPEN (thumb_filename, FOPEN_RBIN_MODE))) { - found_in_cwd = 1; - } else if (!(thumb_file = MFOPEN (guess_filename, FOPEN_RBIN_MODE))) { - fprintf (stderr, "\nNo thumbnail file\n"); - return NULL; - } - if (fread (sigbytes, 1, sizeof(sigbytes), thumb_file) != - sizeof(sigbytes) || - (!png_check_sig (sigbytes, sizeof(sigbytes)))) { - fprintf (stderr, "\nThumbnail not a png file! Skipping\n"); - return NULL; - } - rewind (thumb_file); - - if ((image_stream = start_png_image (thumb_file, NULL))) { - image_ref = pdf_ref_obj (image_stream); - pdf_release_obj (image_stream); - } else { - image_ref = NULL; - } - if (thumbnail_remove_opt && found_in_cwd) - remove (thumb_filename); - else if (thumbnail_remove_opt) - remove (guess_filename); - if (guess_filename) - RELEASE (guess_filename); - MFCLOSE (thumb_file); - return image_ref; -} - -#endif /* HAVE_LIBPNG */ - - - diff --git a/Build/source/texk/dvipdfm/thumbnail.h b/Build/source/texk/dvipdfm/thumbnail.h deleted file mode 100644 index c8d2e401f57..00000000000 --- a/Build/source/texk/dvipdfm/thumbnail.h +++ /dev/null @@ -1,40 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef THUMBNAIL_H - -#define THUMBNAIL_H - -#include <stdio.h> -#include "pdfobj.h" - -#include "config.h" -#ifdef HAVE_LIBPNG -extern pdf_obj *do_thumbnail (const char *thumb_filename); -extern void thumb_remove (void); -#endif - -#endif /* THUMBNAIL_H */ - diff --git a/Build/source/texk/dvipdfm/tpic.c b/Build/source/texk/dvipdfm/tpic.c deleted file mode 100644 index 639ba4af854..00000000000 --- a/Build/source/texk/dvipdfm/tpic.c +++ /dev/null @@ -1,498 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <string.h> -#include <stdlib.h> -#include "system.h" -#include "mem.h" -#include "mfileio.h" -#include "tpic.h" -#include "pdfparse.h" -#include "pdfdoc.h" -#include "pdfdev.h" -#include "dvi.h" - -/* Following "constant" converts milli-inches to - device (in this case PDF stream) coordinates */ - -#define MI2DEV (0.072/pdf_dev_scale()) - -double pen_size = 1.0; -int fill_shape = 0; -double fill_color = 0.0; double default_fill_color = 0.5; -static struct path -{ - double x, y; -} *path = NULL; -unsigned long path_length = 0, max_path_length = 0; - -static void tpic_clear_state (void) -{ - if ((path)) - RELEASE(path); - path = NULL; - path_length = 0; - max_path_length = 0; - fill_shape = 0; - fill_color = 0.0; - return; -} - -static void set_pen_size (char **buffer, char *end) -{ - char *number; - skip_white (buffer, end); - if ((number = parse_number(buffer, end))) { - pen_size = atof (number) * MI2DEV; - RELEASE (number); - } else { - dump (*buffer, end); - fprintf (stderr, "tpic special: pn: Invalid pen size\n"); - } -} - -static void set_fill_color (char **buffer, char *end) -{ - char *number; -MEM_START - fill_shape = 1; - fill_color = default_fill_color; - skip_white (buffer, end); - if ((number = parse_number(buffer, end))) { - fill_color = 1.0 - atof (number); - if (fill_color > 1.0) - fill_color = 1.0; - if (fill_color < 0.0) - fill_color = 0.0; - RELEASE (number); - } -MEM_END -} - -static void add_point (char **buffer, char *end) -{ - char *x= NULL, *y= NULL; -MEM_START - skip_white (buffer, end); - if (*buffer < end) - x = parse_number (buffer, end); - skip_white (buffer, end); - if (*buffer < end) - y = parse_number (buffer, end); - if ((x) && (y)) { - if (path_length >= max_path_length) { - max_path_length += 256; - path = RENEW (path, max_path_length, struct path); - } - path[path_length].x = atof(x)*MI2DEV; - path[path_length].y = atof(y)*MI2DEV; - path_length += 1; - } else { - dump (*buffer, end); - fprintf (stderr, "tpic special: pa: Missing coordinate\n"); - } - if (x) RELEASE(x); - if (y) RELEASE(y); -MEM_END - return; -} - -static void show_path (int hidden) -{ - int len; - /* The semantics of a fill_color of 0.0 or 0.5 will be to use current - painting color known to dvipdfm */ - if (fill_shape && fill_color != 0.0) { - sprintf (work_buffer, " %.2f g", fill_color); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } - if (!hidden && fill_shape) { - pdf_doc_add_to_page (" b", 2); - } - if (hidden && fill_shape) { - pdf_doc_add_to_page (" f", 2); - } - if (!hidden && !fill_shape) - pdf_doc_add_to_page (" S", 2); - if (fill_shape) - fill_shape = 0; - fill_color = 0.0; - fill_shape = 0.0; -} - - -static void flush_path (double x_user, double y_user, int hidden, - double dash_dot) -{ - int len; -MEM_START - /* Make pen_size == 0 equivalent to hidden */ - if (pen_size == 0) - hidden = 1; - if (path_length > 1) { - int i; - sprintf (work_buffer, " q"); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - if (pen_size != 0.0) { - sprintf (work_buffer, " %.2f w", pen_size); - len = strlen (work_buffer); - } - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, " 1 J 1 j"); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - if (dash_dot != 0.0) { - if (dash_dot > 0.0) { - sprintf (work_buffer, " [%.1f %.1f] 0 d", - dash_dot*72.0, dash_dot*36.0); - len = strlen (work_buffer); - } else { - sprintf (work_buffer, " [%.1f %.1f] 0 d", pen_size, - -dash_dot*72.0); - len = strlen (work_buffer); - } - pdf_doc_add_to_page (work_buffer, len); - } - sprintf (work_buffer, " %.2f %.2f m", - x_user+path[0].x, y_user-path[0].y); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - for (i=0; i<path_length; i++) { - sprintf (work_buffer, " %.2f %.2f l", x_user+path[i].x, y_user-path[i].y); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } - show_path (hidden); - pdf_doc_add_to_page (" Q", 2); - } else { - fprintf (stderr, "tpic special: fp: Not enough points!\n"); - } - tpic_clear_state(); -MEM_END - return; -} -static void spline_path (double x_user, double y_user, double dash_dot) -{ - int len; -MEM_START - /* Spline is meaningless for path length of less than 3 */ - if (path_length > 2) { - int i; - sprintf (work_buffer, " q 1.4 M %.2f w", pen_size); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - if (dash_dot != 0.0) { - if (dash_dot > 0.0) { - sprintf (work_buffer, " [%.1f %.1f] 0 d", - dash_dot*72.0, dash_dot*36.0); - len = strlen (work_buffer); - } else if (dash_dot < 0.0) { - sprintf (work_buffer, " [%.1f %.1f] 0 d 1 J", pen_size, - -dash_dot*72.0); - len = strlen (work_buffer); - } - pdf_doc_add_to_page (work_buffer, len); - } - sprintf (work_buffer, " %.2f %.2f m", - x_user+path[0].x, y_user-path[0].y); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, " %.2f %.2f l", - x_user+0.5*(path[0].x+path[1].x), - y_user-0.5*(path[0].y+path[1].y)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - for (i=1; i<path_length-1; i++) { - sprintf (work_buffer, " %.2f %.2f %.2f %.2f y", - x_user+path[i].x, y_user-path[i].y, - x_user+0.5*(path[i].x+path[i+1].x), - y_user-0.5*(path[i].y+path[i+1].y)); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - } - sprintf (work_buffer, " %.2f %.2f l", - x_user+path[path_length-1].x, - y_user-path[path_length-1].y); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - show_path (0); - pdf_doc_add_to_page (" Q", 2); - } else { - fprintf (stderr, "tpic special: sp: Not enough points!\n"); - } - tpic_clear_state(); -MEM_END - return; -} - -static void arc (char **buffer, char *end, double x_user, double - y_user, int hidden) -{ - char *xcs= NULL, *ycs= NULL, - *xrs=NULL, *yrs=NULL, *sas=NULL, *eas=NULL; - char *save; - double xc, yc, xr, yr, sa, ea; -MEM_START - save = *buffer; -/* pen_size == 0 is equivalent to hidden */ - if (pen_size == 0) - hidden = 1; - if ((xcs=parse_number(buffer, end)) && - (ycs=parse_number(buffer, end)) && - (xrs=parse_number(buffer, end)) && - (yrs=parse_number(buffer, end)) && - (sas=parse_number(buffer, end)) && - (eas=parse_number(buffer, end))) { - double c, s, cur_x, cur_y, inc_ang; - double cp1_x, cp1_y, cp2_x, cp2_y; - double new_x, new_y; - int len, i, nsteps; - xc=atof (xcs)*MI2DEV; yc=atof (ycs)*MI2DEV; - xr=atof (xrs)*MI2DEV; yr=atof (yrs)*MI2DEV; - sa=atof (sas); ea=atof (eas); -#define ROTATE(x,y,c,s) {new_x=(c)*(x)-(s)*(y);new_y=(s)*(x)+(c)*(y);x=new_x,y=new_y;} - #define MAX_ANG_STEP 1.0 - nsteps = (int) ((ea-sa)/MAX_ANG_STEP) + 1; - inc_ang = (ea-sa)/nsteps; - c = cos(inc_ang); s = sin(inc_ang); - cur_x=cos(sa); cur_y=sin(sa); - cp1_x = cur_x - inc_ang/3.0*cur_y; - cp1_y = cur_y + inc_ang/3.0*cur_x; - cp2_x = cur_x + inc_ang/3.0*cur_y; - cp2_y = cur_y - inc_ang/3.0*cur_x; - sprintf (work_buffer, " q"); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - if (pen_size != 0.0) { - sprintf (work_buffer, " %.2f w", pen_size); - len = strlen (work_buffer); - } - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, " 1 J"); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - sprintf (work_buffer, " %.2f %.2f m", x_user+xr*cur_x+xc, y_user-yr*cur_y-yc); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - ROTATE (cp2_x, cp2_y, c, s); - ROTATE (cur_x, cur_y, c, s); - for (i=0; i<nsteps; i++) { - sprintf (work_buffer, " %.2f %.2f %.2f %.2f %.2f %.2f c", - x_user+xr*cp1_x+xc, y_user-yr*cp1_y-yc, - x_user+xr*cp2_x+xc, y_user-yr*cp2_y-yc, - x_user+xr*cur_x+xc, y_user-yr*cur_y-yc); - len = strlen (work_buffer); - pdf_doc_add_to_page (work_buffer, len); - ROTATE (cur_x, cur_y, c, s); - ROTATE (cp1_x, cp1_y, c, s); - ROTATE (cp2_x, cp2_y, c, s); - } - show_path (hidden); - pdf_doc_add_to_page (" Q", 2); - } else { - dump (save, end); - fprintf (stderr, "tpic special: ar/ir: Error in parameters\n"); - } - if (xcs) RELEASE(xcs); - if (ycs) RELEASE(ycs); - if (xrs) RELEASE(xrs); - if (yrs) RELEASE(yrs); - if (sas) RELEASE(sas); - if (eas) RELEASE(eas); -MEM_END - tpic_clear_state(); - return; -} - -#define TPIC_PN 1 -#define TPIC_PA 2 -#define TPIC_FP 3 -#define TPIC_IP 4 -#define TPIC_DA 5 -#define TPIC_DT 6 -#define TPIC_SP 7 -#define TPIC_AR 8 -#define TPIC_IA 9 -#define TPIC_SH 10 -#define TPIC_WH 11 -#define TPIC_BK 12 -#define TPIC_TX 13 - -struct { - char *s; - int tpic_command; -} tpic_specials[] = { - {"pn", TPIC_PN}, - {"pa", TPIC_PA}, - {"fp", TPIC_FP}, - {"ip", TPIC_IP}, - {"da", TPIC_DA}, - {"dt", TPIC_DT}, - {"sp", TPIC_SP}, - {"ar", TPIC_AR}, - {"ia", TPIC_IA}, - {"sh", TPIC_SH}, - {"wh", TPIC_WH}, - {"bk", TPIC_BK}, - {"tx", TPIC_TX} -}; - -int tpic_parse_special(char *buffer, UNSIGNED_QUAD size, double - x_user, double y_user) -{ - int i, tpic_command, result = 0; - char *end = buffer + size; - char *token; - skip_white (&buffer, end); - if ((token = parse_ident (&buffer, end))) { - for (i=0; i<(sizeof(tpic_specials)/sizeof(tpic_specials[0])); i++) { - if (!strcmp (tpic_specials[i].s, token)) - break; - } - RELEASE (token); - } else - return 0; - if (i < sizeof(tpic_specials)/sizeof(tpic_specials[0])) { - tpic_command = tpic_specials[i].tpic_command; - skip_white (&buffer, end); - result = 1; - switch (tpic_command) { - case TPIC_PN: - set_pen_size (&buffer, end); - break; - case TPIC_PA: - add_point (&buffer, end); - break; - case TPIC_FP: - flush_path(x_user, y_user, 0, 0.0); - break; - case TPIC_IP: - flush_path(x_user, y_user, 1, 0.0); - break; - case TPIC_DA: - { - char *s; - if ((s=parse_number(&buffer, end))) { - flush_path(x_user, y_user, 0, atof (s)); - RELEASE (s); - } - } - break; - case TPIC_DT: - { - char *s; - if ((s=parse_number(&buffer, end))) { - flush_path(x_user, y_user, 0, -atof (s)); - RELEASE (s); - } - } - break; - case TPIC_SP: - { - char *s; - if ((s=parse_number(&buffer, end))) - spline_path (x_user, y_user, atof (s)); - else - spline_path(x_user, y_user, 0.0); - break; - } - case TPIC_AR: - arc (&buffer, end, x_user, y_user, 0); - break; - case TPIC_IA: - arc (&buffer, end, x_user, y_user, 1); - break; - case TPIC_SH: - set_fill_color (&buffer, end); - break; - case TPIC_WH: - fill_shape = 1; - fill_color = 1.0; - break; - case TPIC_BK: - fill_shape = 1; - fill_color = 0.0; - break; - case TPIC_TX: - fill_shape = 1; - { - long num = 0, den = 0; - while (buffer++ < end) { - switch (*(buffer++)) { - case '0': - num += 0; - case '1': - case '2': - case '4': - case '8': - num += 1; - break; - case '3': - case '5': - case '6': - case '9': - case 'a': - case 'A': - case 'c': - case 'C': - num += 2; - break; - case '7': - case 'b': - case 'B': - case 'd': - case 'D': - num += 3; - break; - case 'f': - case 'F': - num += 4; - break; - default: - break; - } - den += 16; - } - if (den != 0) { - default_fill_color = 1.0 - (float) (num)/(den); - } - else { - default_fill_color = 0.5; - } - } - break; - default: - fprintf (stderr, "Fix me, I'm broke. This should never happen"); - exit(1); - } - } else { - result = 0; - } - return result; -} - - - diff --git a/Build/source/texk/dvipdfm/tpic.h b/Build/source/texk/dvipdfm/tpic.h deleted file mode 100644 index 0a8cddc3919..00000000000 --- a/Build/source/texk/dvipdfm/tpic.h +++ /dev/null @@ -1,41 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef _TPIC_H_ - -#define _TPIC_H_ - -#include "numbers.h" - -extern int tpic_parse_special(char *buffer, UNSIGNED_QUAD size, double - x_user, double y_user); -#ifndef M_PI - #define M_PI (4.0*atan(1.0)) -#endif /* M_PI */ - -#endif /* _TPIC_H */ - - - diff --git a/Build/source/texk/dvipdfm/ttf.c b/Build/source/texk/dvipdfm/ttf.c deleted file mode 100755 index 45b6111ddb4..00000000000 --- a/Build/source/texk/dvipdfm/ttf.c +++ /dev/null @@ -1,1031 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -/* This is tailored for PDF */ - -#include "config.h" - -#ifdef HAVE_TTF_FORMATS -#include "ttf.h" - -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "pdfobj.h" -#include "numbers.h" -#include "tfm.h" -#include "pdflimits.h" -#include "twiddle.h" -#include "encodings.h" - -static unsigned char verbose = 0; - -void ttf_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - -static char partial_enabled = 0; - -void ttf_disable_partial (void) -{ - partial_enabled = 0; -} - - -/* Convert ttf "fixed" type to double */ - -#define fixed(a) ((double)((a)%0x10000L)/(double)(0x10000L)+ \ - (((a)/0x10000L) > 0x8000L? 0x10000L - ((a)/0x10000L): ((a)/0x10000L))) - -/* Convert four-byte number to big endianess in a machine independent - way */ -static void convert_tag (char *tag, unsigned long u_tag) -{ - int i; - for (i=3; i>= 0; i--) { - tag[i] = u_tag % 256; - u_tag /= 256; - } - tag[4] = 0; -} - -struct table_header -{ - char tag[5]; - UNSIGNED_QUAD check_sum, offset, length; - int omit; /* If an application call sets omit=1, this table will - not be written to the output by ttf_build_font() */ - void *table_data; -}; - -struct table_directory -{ - SIGNED_QUAD version; - UNSIGNED_PAIR num_tables, search_range, - entry_selector, range_shift; - struct table_header *tables; -}; - -static void release_directory (struct table_directory *r) -{ - if (r && r->tables) { - RELEASE (r->tables); - } - if (r) - RELEASE (r); -} - -static int put_big_endian (char *s, UNSIGNED_QUAD q, int n) -{ - int i; - for (i=n-1; i>=0; i--) { - s[i] = (char) q%256; - q/=256L; - } - return n; -} - -static unsigned max2floor(unsigned n) -/* Computes the max power of 2 <= n */ -{ - int i = 1; - while (n > 1) { - n /= 2; - i *= 2; - } - return i; -} - -static unsigned log2floor(unsigned n) -/* Computes the log2 of the max power of 2 <= n */ -{ - unsigned i = 0; - while (n > 1) { - n /= 2; - i += 1; - } - return i; -} - - -static char *ttf_build_font (FILE *ttf_file, struct table_directory - *td, long *size) -{ - char *result, *p; - long font_size = 0, offset = 0; - int i, num_kept_tables = 0, new_search_range; - for (i=0; i<(td->num_tables); i++) { - if (!(td->tables)[i].omit) { - font_size += (td->tables[i].length); - num_kept_tables += 1; - } - } - font_size += (td->num_tables)*16; /* 16 bytes per table entry */ - font_size += 12; /* 12 bytes for the directory */ - *size = font_size; - result = NEW (font_size, char); - p = result; - { /* Header */ - p += put_big_endian (p, td->version, 4); - p += put_big_endian (p, num_kept_tables, 2); - new_search_range = max2floor(num_kept_tables) * 16; - p += put_big_endian (p, new_search_range, 2); - p += put_big_endian (p, log2floor(num_kept_tables), 2); - p += put_big_endian (p, num_kept_tables*16-new_search_range, 2); - } - /* Computer start of actual tables (after headers) */ - offset = 12 + 16 * num_kept_tables; - for (i=0; i<(td->num_tables); i++) { - if (!(td->tables)[i].omit) { - sprintf (p, "%4s", (td->tables)[i].tag); - p += strlen (p); - p += put_big_endian (p, (td->tables)[i].check_sum, 4); - p += put_big_endian (p, offset, 4); - p += put_big_endian (p, (td->tables)[i].length, 4); - /* Be careful here. Offset to the right place in the file - using the old offset and read the data into the right - place in the buffer using the new offset */ - seek_absolute (ttf_file, (td->tables)[i].offset); - fread (result+offset, (td->tables)[i].length, sizeof(char), ttf_file); - /* Set offset for next table */ - offset += (td->tables)[i].length; - if (offset > font_size ) - ERROR ("Uh oh"); - } - } - return result; -} - - -static struct table_directory *read_directory(FILE *ttf_file) -{ - unsigned long i; - struct table_directory *td = NEW (1, struct table_directory); - rewind (ttf_file); - td -> version = get_unsigned_quad(ttf_file); - td -> num_tables = get_unsigned_pair (ttf_file); - td -> search_range = get_unsigned_pair (ttf_file); - td -> entry_selector = get_unsigned_pair (ttf_file); - td -> range_shift = get_unsigned_pair (ttf_file); - if (verbose > 3) { - fprintf (stdout, "File Header\n"); - fprintf (stdout, "\tVersion: %.5f\n", fixed(td -> version)); - fprintf (stdout, "\tNumber of tables: %d\n", - td -> num_tables); - fprintf (stdout, "\tSearch Range: %d\n", td -> search_range); - fprintf (stdout, "\tEntry Selector: %d\n", - td -> entry_selector); - fprintf (stdout, "\tRange Shift: %d\n", - td -> range_shift); - } - td->tables = NEW (td -> num_tables, struct table_header); - for (i=0; i < td->num_tables; i++) { - unsigned long u_tag; - if (verbose > 3) { - fprintf (stdout, "New Table\n"); - } - u_tag = get_unsigned_quad (ttf_file); - convert_tag ((td->tables)[i].tag, u_tag); - (td->tables)[i].check_sum = get_unsigned_quad (ttf_file); - (td->tables)[i].offset = get_unsigned_quad (ttf_file); - (td->tables)[i].length = get_unsigned_quad (ttf_file); - if (verbose) { - fprintf (stdout, "\tTag: %4s\n", (td->tables)[i].tag); - fprintf (stdout, "\tChecksum: %lx\n", (td->tables)[i].check_sum); - fprintf (stdout, "\tOffset: %lx\n", (td->tables)[i].offset); - fprintf (stdout, "\tLength: %lx\n", (td->tables)[i].length); - } - (td->tables)[i].omit = 0; - (td->tables)[i].table_data = NULL; - } - return td; -} - -static int find_table_index (struct table_directory *td, char *tag) -{ - int result, i; - for (i=0; i < td->num_tables; i++) { - if (!strncmp ((td->tables)[i].tag, tag, 4)) { - break; - } - } - if (i < td-> num_tables) - result = i; - else - result = -1; - return result; -} - - -static long find_table_pos (FILE *ttf_file, struct table_directory *td, char *tag) -{ - int i; - long result = -1; - if ((i=find_table_index (td, tag)) >= 0) { - result = (td->tables)[i].offset; - } - return result; -} - -static struct post_header -{ - UNSIGNED_QUAD format; - UNSIGNED_QUAD italicAngle; - SIGNED_PAIR underlinePosition; - SIGNED_PAIR underlineThickness; - UNSIGNED_QUAD isFixedPitch; -} post_header; - -void read_post_table(FILE *ttf_file, struct table_directory *td) -{ - long post_offset = find_table_pos (ttf_file, td, "post"); - seek_absolute (ttf_file, post_offset); - if (verbose > 3) { - fprintf (stdout, "Table type: post\n"); - fprintf (stderr, "post table @ %ld\n", post_offset); - } - post_header.format = get_unsigned_quad(ttf_file); - post_header.italicAngle = get_unsigned_quad (ttf_file); - post_header.underlinePosition = get_signed_pair (ttf_file); - post_header.underlineThickness = get_signed_pair (ttf_file); - post_header.isFixedPitch = get_unsigned_quad (ttf_file); - if (verbose > 3) { - fprintf (stdout, "\tVersion: %f(%lx)\n", - fixed(post_header.format), - post_header.format); - fprintf (stdout, "\tItalic Angle: %f\n", - fixed(post_header.italicAngle)); - fprintf (stdout, "\tUnderline Position: %d\n", - post_header.underlinePosition); - fprintf (stdout, "\tUnderline Thickness: %d\n", - post_header.underlineThickness); - fprintf (stdout, "\tIs Fixed Pitch?: %ld\n", - post_header.isFixedPitch); - } - return; -} - -struct horz_header -{ - UNSIGNED_QUAD version; - SIGNED_PAIR ascender, descender, line_gap; - UNSIGNED_PAIR advanceWidthMax; - SIGNED_PAIR minLeftSideBearing, minRightSideBearing, xMaxExtent; - SIGNED_PAIR caretSlopeRise, caretSlopeRun; - UNSIGNED_PAIR numberOfHMetrics; -} horz_header; - -void read_hhea_table (FILE *ttf_file) -{ - horz_header.version = get_unsigned_quad(ttf_file); - horz_header.ascender = get_signed_pair (ttf_file); - horz_header.descender = get_signed_pair (ttf_file); - horz_header.line_gap = get_signed_pair (ttf_file); - if (verbose > 3) { - fprintf (stdout, "Table type: hhea\n"); - fprintf (stdout, "\tVersion: %f\n", fixed(horz_header.version)); - fprintf (stdout, "\tAscender: %d\n", horz_header.ascender); - fprintf (stdout, "\tDescender: %d\n", horz_header.descender); - fprintf (stdout, "\tLine Gap: %d\n", horz_header.line_gap); - } -} - - -struct font_header -{ - double version, revision; - UNSIGNED_QUAD check_sum; - UNSIGNED_QUAD magic; - UNSIGNED_PAIR flags, units_per_em; - SIGNED_PAIR xMin, yMin, xMax, yMax; - UNSIGNED_PAIR style, minsize; - SIGNED_PAIR fontDirectionHint, indexToLocFormat; - SIGNED_PAIR glyphDataFormat; -}; - -struct font_header *read_head_table(FILE *ttf_file, struct table_directory *td) -{ - struct font_header *r; - int i; - unsigned long fw; - long head_offset = find_table_pos (ttf_file, td, "head"); - seek_absolute (ttf_file, head_offset); - r = NEW (1, struct font_header); - fw = get_unsigned_quad(ttf_file); - (r->version) = fixed(fw); - fw = get_unsigned_quad(ttf_file); - (r->revision) = fixed(fw); - r->check_sum = get_unsigned_quad(ttf_file); - r->magic = get_unsigned_quad(ttf_file); - r->flags = get_unsigned_pair(ttf_file); - r->units_per_em = get_unsigned_pair(ttf_file); - if (verbose > 3) { - fprintf (stdout, "Table type: head\n"); - fprintf (stdout, "\tVersion: %f\n", r->version); - fprintf (stdout, "\tRevision: %f\n", r->revision); - fprintf (stdout, "\tChecksum: %lx\n", r->check_sum); - fprintf (stdout, "\tMagic: %lx\n", r->magic); - fprintf (stdout, "\tFlags: %x\n", r->flags); - fprintf (stdout, "\tunits_per_em: %d\n", r->units_per_em); - } - /* Skip Dates */ - for (i=0; i<4; i++) { - get_unsigned_quad (ttf_file); - } - r->xMin = get_signed_pair(ttf_file); - r->yMin = get_signed_pair(ttf_file); - r->xMax = get_signed_pair(ttf_file); - r->yMax = get_signed_pair(ttf_file); - r->style = get_unsigned_pair(ttf_file); - r->minsize = get_unsigned_pair(ttf_file); - r->fontDirectionHint = get_signed_pair(ttf_file); - r->indexToLocFormat = get_signed_pair(ttf_file); - r->glyphDataFormat = get_signed_pair(ttf_file); - if (verbose > 3) { - fprintf (stdout, "\txMin: %d\n", r->xMin); - fprintf (stdout, "\tyMin: %d\n", r->yMin); - fprintf (stdout, "\txMax: %d\n", r->xMax); - fprintf (stdout, "\tyMax: %d\n", r->yMax); - fprintf (stdout, "\tyStyle: %d\n", r->style); - fprintf (stdout, "\tyMin readable size (pixels): %d\n", r->minsize); - fprintf (stdout, "\tDirection Hint: %d\n", r->fontDirectionHint); - fprintf (stdout, "\tIndex Format: %d\n", - r->indexToLocFormat); - fprintf (stdout, "\tData Format: %d\n", - r->glyphDataFormat); - } - return r; -} - - -static unsigned num_ttfs = 0; -static unsigned max_ttfs = 0; -struct a_ttf -{ - char *ttf_name; - char *fontname; - struct table_directory *directory; - pdf_obj *direct, *indirect, *descriptor; - char **used_glyphs; - char **int_encoding; - char *used_def_enc_chars; /* The positions used from the default - encoding. When a default encoding - is used, the glyph names will not - be known until the font is actually - read. Since the glyph names are - unknown, only the positions of the - used chars are stored when the - default encoding is used */ - unsigned n_used_glyphs, max_used_glyphs; -} *ttfs = NULL; - -static void init_a_ttf (struct a_ttf *ttf) -{ - int i; - ttf -> n_used_glyphs = 0; - ttf -> max_used_glyphs = 0; - ttf -> used_glyphs = NULL; - ttf->ttf_name = NULL; - ttf->fontname = NULL; - ttf->direct = NULL; - ttf->indirect = NULL; - ttf->descriptor = NULL; - ttf -> used_def_enc_chars = NULL; - if (partial_enabled) { - ttf -> int_encoding = NEW (256, char *); - for (i=0; i<256; i++) { - (ttf -> int_encoding)[i] = NULL; - } - } else { - ttf -> int_encoding = NULL; - } -} - -#include "macglyphs.h" - - -#define FIXED_WIDTH 1 -#define SERIF 2 -#define STANDARD 32 -#define ITALIC 64 -#define SYMBOLIC 4 /* Fonts that don't have Adobe encodings (e.g., - cmr, should be set to be symbolic */ -#define STEMV 80 - - -extern int CDECL glyph_cmp(const void *v1, const void *v2); -extern int CDECL glyph_match(const void *key, const void *v); - - -static void dump_glyphs( char **glyphs, int n, int show_index) -{ - int i; - for (i=0; i<n; i++) { - if (show_index) - fprintf (stderr, "(%d", i); - if (glyphs[i]) - fprintf (stderr, "/%s", glyphs[i]); - else - fprintf (stderr, "(null)"); - if (show_index) - fprintf (stderr, ")"); - } - return; -} - -static void dump_used( char *used_chars) -{ - int i; - for (i=0; i<256; i++) - fprintf (stderr, "(%d/%d)", i, used_chars[i]); - return; -} - -static unsigned int glyph_length (char **glyphs) -{ - int i; - unsigned result = 0; - for (i=0; i<256; i++) { - result += strlen (glyphs[i]); - } - return result; -} - -static char *ttf_find_name (FILE *ttf_file, struct table_directory *td) -{ - char *result = NULL; - unsigned num_names, string_offset; - long name_offset; - int i; - name_offset = find_table_pos (ttf_file, td, "name"); - if (name_offset >= 0) { - seek_absolute (ttf_file, name_offset); - if (get_unsigned_pair (ttf_file)) - ERROR ("Expecting zero in ttf_find_name()"); - num_names = get_unsigned_pair (ttf_file); - string_offset = get_unsigned_pair (ttf_file); - for (i=0; i<num_names; i++) { - unsigned platform_id, plat_encoding_id; - unsigned language_id, name_id; - unsigned length, offset; - platform_id = get_unsigned_pair (ttf_file); - plat_encoding_id = get_unsigned_pair (ttf_file); - language_id = get_unsigned_pair (ttf_file); - name_id = get_unsigned_pair (ttf_file); - length = get_unsigned_pair (ttf_file); - offset = get_unsigned_pair (ttf_file); - if (platform_id == 1 && - name_id == 6) { /* For now, return the PS font name */ - seek_absolute (ttf_file, name_offset+string_offset+offset); - result = NEW (length+1, char); - fread (result, length, sizeof(char), ttf_file); - result[length] = 0; - if (verbose > 3) { - fprintf (stdout, "TTF internal name is %s\n", result); - } - break; - } - } - if (i == num_names) { - ERROR ("Couldn't find ttf font name in a platform/encoding I could understand"); - } - } else { - fprintf (stdout, "Name table not found!\n"); - } - return result; -} - -static pdf_obj *ttf_fontfile (int ttf_id) -{ - if (ttf_id >= 0 && ttf_id < num_ttfs) - return pdf_link_obj (ttfs[ttf_id].indirect); - else - return NULL; -} - -static char *ttf_fontname (int ttf_id) -{ - if (ttf_id >= 0 && ttf_id < num_ttfs) - return ttfs[ttf_id].fontname; - else - return NULL; -} - - -static void ttf_add_to_used_glyphs (int ttf_id, char *glyph) -{ - if (ttf_id >= 0 && ttf_id < num_ttfs && glyph) { - if (ttfs[ttf_id].n_used_glyphs == 0 || - !bsearch (glyph, ttfs[ttf_id].used_glyphs, - ttfs[ttf_id].n_used_glyphs, - sizeof (char *), glyph_match)) { - if (ttfs[ttf_id].n_used_glyphs+1 >= - ttfs[ttf_id].max_used_glyphs) { - ttfs[ttf_id].max_used_glyphs += 16; - ttfs[ttf_id].used_glyphs = RENEW (ttfs[ttf_id].used_glyphs, - ttfs[ttf_id].max_used_glyphs, - char *); - } - (ttfs[ttf_id].used_glyphs)[ttfs[ttf_id].n_used_glyphs] = - NEW (strlen(glyph)+1, char); - strcpy((ttfs[ttf_id].used_glyphs)[ttfs[ttf_id].n_used_glyphs], - glyph); - ttfs[ttf_id].n_used_glyphs += 1; - qsort (ttfs[ttf_id].used_glyphs, ttfs[ttf_id].n_used_glyphs, - sizeof (char *), glyph_cmp); - } - } -} - -static char *new_used_chars (void) -{ - char *result; - int i; - result = NEW (256, char); - for (i=0; i<256; i++) { - result[i] = 0; - } - return result; -} - -/* Mark the character at position "code" as used in the ttf font - corresponding to "ttf_id" */ -static void ttf_add_to_used_chars (int ttf_id, unsigned code) -{ - if (ttf_id >= 0 && ttf_id < num_ttfs && code < 256) { - if (!ttfs[ttf_id].used_def_enc_chars) { - ttfs[ttf_id].used_def_enc_chars = new_used_chars(); - } - (ttfs[ttf_id].used_def_enc_chars)[code] = 1; - } - if (code >= 256) - ERROR ("ttf_add_to_used_chars(): code >= 256"); - return; -} - -/* Mangle_fontname mangles the name in place. fontname - must be big enough to add seven characters */ - -static void mangle_fontname(char *fontname) -{ - int i; - char ch; - static char first = 1; - memmove (fontname+7, fontname, strlen(fontname)+1); - /* The following procedure isn't very random, but it - doesn't need to be for this application. */ - if (first) { - srand (time(NULL)); - first = 0; - } - for (i=0; i<6; i++) { - ch = rand() % 26; - fontname[i] = ch+'A'; - } - fontname[6] = '+'; -} - - -/* This routine builds a default font descriptor with dummy values - filled in for the required keys. As the ttf file is parsed, - any values that are found are rewritten. By doing this, - all the required fields are found in the font descriptor - even if the ttf is somewhat defective. This approach is - conservative, with the cost of keeping the names around in memory - for a while. -*/ - -static void ttf_start_font_descriptor (FILE *ttf_file, int ttf_id) -{ - pdf_obj *tmp1; - struct font_header *r; - ttfs[ttf_id].descriptor = pdf_new_dict (); - - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("Type"), - pdf_new_name ("FontDescriptor")); - /* For now, insert dummy values */ - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("CapHeight"), - pdf_new_number (850.0)); /* This number is arbitrary */ - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("Ascent"), - pdf_new_number (850.0)); /* This number is arbitrary */ - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("Descent"), - pdf_new_number (-200.0)); - r = read_head_table(ttf_file, ttfs[ttf_id].directory); - tmp1 = pdf_new_array (); - pdf_add_array (tmp1, pdf_new_number ((double) r->xMin)); - pdf_add_array (tmp1, pdf_new_number ((double) r->yMin)); - pdf_add_array (tmp1, pdf_new_number ((double) r->xMax)); - pdf_add_array (tmp1, pdf_new_number ((double) r->yMax)); - RELEASE (r); - pdf_add_dict (ttfs[ttf_id].descriptor, pdf_new_name ("FontBBox"), tmp1); - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("FontName"), - pdf_new_name (ttf_fontname(ttf_id))); - - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("ItalicAngle"), - pdf_new_number(0.0)); - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("StemV"), /* StemV is required, StemH - is not */ - pdf_new_number (STEMV)); /* Use a default value */ - /* You don't need a fontfile for the standard fonts */ - if (ttf_id >= 0) - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("FontFile2"), - ttf_fontfile (ttf_id)); - - pdf_add_dict (ttfs[ttf_id].descriptor, - pdf_new_name ("Flags"), - pdf_new_number (SYMBOLIC)); /* Treat all fonts as symbolic */ - return; -} - -static int ttf_get_id (const char *ttf_name) -{ - int i; - for (i=0; i<num_ttfs; i++) { - if (ttfs[i].ttf_name && !strcmp (ttfs[i].ttf_name, ttf_name)) - break; - } - if (i == num_ttfs) { /* This font not previously called for */ - FILE *ttf_file; - char *full_ttf_name, *short_fontname; - if (!(full_ttf_name = kpse_find_file (ttf_name, kpse_truetype_format, - 1)) || - !(ttf_file = MFOPEN (full_ttf_name, FOPEN_RBIN_MODE))) { - return -1; - } - if (num_ttfs >= max_ttfs) { - max_ttfs += MAX_FONTS; - ttfs = RENEW (ttfs, max_ttfs, struct a_ttf); - } - num_ttfs += 1; - init_a_ttf (ttfs+i); - ttfs[i].directory = read_directory (ttf_file); - short_fontname = ttf_find_name (ttf_file, ttfs[i].directory); - ttfs[i].ttf_name = NEW (strlen(ttf_name)+1, char); - strcpy (ttfs[i].ttf_name, ttf_name); - ttfs[i].direct = pdf_new_stream(STREAM_COMPRESS); - ttfs[i].indirect = pdf_ref_obj (ttfs[i].direct); - if (partial_enabled) { - ttfs[i].fontname = NEW (strlen(short_fontname)+8, char); - strcpy (ttfs[i].fontname, short_fontname); - mangle_fontname(ttfs[i].fontname); - } - else { - ttfs[i].fontname = NEW (strlen(short_fontname)+1, char); - strcpy (ttfs[i].fontname, short_fontname); - } - ttf_start_font_descriptor(ttf_file, i); - if (short_fontname) - RELEASE (short_fontname); - MFCLOSE (ttf_file); - } - return i; -} - -static void ttf_release (int id) -{ - if (id >= 0 && id < num_ttfs) { - RELEASE (ttfs[id].ttf_name); - pdf_release_obj (ttfs[id].indirect); - release_directory (ttfs[id].directory); - RELEASE (ttfs[id].fontname); - - if (ttfs[id].used_def_enc_chars) - RELEASE (ttfs[id].used_def_enc_chars); - if (ttfs[id].int_encoding){ - int i; - for (i=0; i<256; i++) { - if ((ttfs[id].int_encoding)[i]) - RELEASE ((ttfs[id].int_encoding)[i]); - } - RELEASE (ttfs[id].int_encoding); - } - if (ttfs[id].used_glyphs) { - unsigned i; - for (i=0; i<ttfs[id].n_used_glyphs; i++) { - RELEASE ((ttfs[id].used_glyphs)[i]); - } - RELEASE (ttfs[id].used_glyphs); - } - } -} - -static void release_glyphs (char **glyphs) -{ - int i; - for (i=0; i<256; i++) { - RELEASE (glyphs[i]); - } -} - -static void omit_unecessary (struct table_directory *td) -{ - int omitindex; - if ((omitindex = find_table_index (td, "kern")) >= 0) - (td->tables)[omitindex].omit = 1; -} - -static void do_ttf (int ttf_id) -{ - char *full_ttf_name; - FILE *ttf_file; - pdf_obj *stream_dict; - full_ttf_name = kpse_find_file (ttfs[ttf_id].ttf_name, kpse_truetype_format, - 1); - if (verbose == 1) - fprintf (stderr, "(TTF:%s", ttfs[ttf_id].ttf_name); - if (verbose > 1) - fprintf (stderr, "(TTF:%s", full_ttf_name); - if (full_ttf_name == NULL || - (ttf_file = MFOPEN (full_ttf_name, FOPEN_RBIN_MODE)) == NULL) { - fprintf (stderr, "Unable to find or open binary font file (%s)", - ttfs[ttf_id].ttf_name); - ERROR ("This existed when I checked it earlier!"); - return; - } - /* Following section doesn't hide PDF stream structure very well */ - - /* The following section seems determines which, if any, - glyphs were used via the internal encoding, which hasn't - been known until now.*/ - if (partial_enabled) { - int j; - if (verbose > 2) { - fprintf (stderr, "Default encoding:\n"); - dump_glyphs (ttfs[ttf_id].int_encoding, 256, 1); - } - if (ttfs[ttf_id].used_def_enc_chars) { - if (verbose > 2) - fprintf (stderr, "\nRetaining portion of default encoding:\n"); - for (j=0; j<256; j++) { - if ((ttfs[ttf_id].used_def_enc_chars)[j]) { - if (verbose > 2) - fprintf (stderr, "(%d/%s)", j, (ttfs[ttf_id].int_encoding)[j]); - ttf_add_to_used_glyphs (ttf_id, (ttfs[ttf_id].int_encoding)[j]); - } - } - } - } - { - char *buffer; - long size; - omit_unecessary (ttfs[ttf_id].directory); - buffer = ttf_build_font (ttf_file, ttfs[ttf_id].directory, &size); - MFCLOSE (ttf_file); - stream_dict = pdf_stream_dict (ttfs[ttf_id].direct); - pdf_add_stream(ttfs[ttf_id].direct, buffer, size); - RELEASE (buffer); - pdf_add_dict (stream_dict, pdf_new_name ("Length1"), - pdf_new_number (size)); - pdf_release_obj (ttfs[ttf_id].direct); - /* Finally, flush the descriptor */ - pdf_release_obj (ttfs[ttf_id].descriptor); - } - return; -} - -void ttf_flush_all (void) -{ - int i; - for (i=0; i<num_ttfs; i++) { - do_ttf(i); - ttf_release (i); - } - if (ttfs) - RELEASE (ttfs); -} - -struct a_ttf_font -{ - pdf_obj *indirect, *encoding; - long ttf_id; - int encoding_id; - char *used_chars; -} *ttf_fonts = NULL; -int num_ttf_fonts = 0, max_ttf_fonts = 0; - - -static void init_a_ttf_font (struct a_ttf_font *this_ttf_font) -{ - if (partial_enabled) { - this_ttf_font -> used_chars = new_used_chars (); - } else { - this_ttf_font -> used_chars = NULL; - } -} - -pdf_obj *ttf_font_resource (int ttf_id) -{ - if (ttf_id>=0 && ttf_id<max_ttf_fonts) - return pdf_link_obj(ttf_fonts[ttf_id].indirect); - else { - ERROR ("Invalid font id in ttf_font_resource"); - return NULL; - } -} - -char *ttf_font_used (int ttf_id) -{ - char *result; - if (ttf_id>=0 && ttf_id<max_ttf_fonts) { - result = ttf_fonts[ttf_id].used_chars; - } else { - fprintf (stderr, "ttf_font_used: ttf_id=%d\n", ttf_id); - ERROR ("Invalid font id in ttf_font_used"); - } - return result; -} - - - -int ttf_font (const char *map_name, int tfm_font_id, char - *resource_name, int encoding_id, int remap) -{ - int i, result = -1; - int tfm_firstchar, tfm_lastchar; - int pdf_firstchar, pdf_lastchar; - int ttf_id = -1; - pdf_obj *font_resource=NULL, *tmp1, *font_encoding_ref; - - if (num_ttf_fonts >= max_ttf_fonts) { - max_ttf_fonts = MAX (max_ttf_fonts+MAX_FONTS, num_ttf_fonts+1); - ttf_fonts = RENEW (ttf_fonts, max_ttf_fonts, struct - a_ttf_font); - } - - if ((ttf_id = ttf_get_id(map_name)) >= 0) { - /* Looks like we have a physical font (either a reader font or a - Type 1 font binary file). */ - init_a_ttf_font (ttf_fonts+num_ttf_fonts); - ttf_fonts[num_ttf_fonts].ttf_id = ttf_id; - ttf_fonts[num_ttf_fonts].encoding_id = encoding_id; - /* Allocate a dictionary for the physical font */ - font_resource = pdf_new_dict (); - if (ttf_fonts[num_ttf_fonts].encoding_id >= 0) { - font_encoding_ref = encoding_ref (encoding_id); - pdf_add_dict (font_resource, - pdf_new_name ("Encoding"), - font_encoding_ref); - } - pdf_add_dict (font_resource, - pdf_new_name ("Type"), - pdf_new_name ("Font")); - pdf_add_dict (font_resource, - pdf_new_name ("Subtype"), - pdf_new_name ("TrueType")); - pdf_add_dict (font_resource, - pdf_new_name ("Name"), - pdf_new_name (resource_name)); - if (ttf_fonts[num_ttf_fonts].ttf_id >= 0) { - pdf_add_dict (font_resource, - pdf_new_name ("FontDescriptor"), - pdf_ref_obj(ttfs[ttf_fonts[num_ttf_fonts].ttf_id].descriptor)); - } - /* If we are embedding this font, it may have been used by another virtual - font and we need to use the same mangled name. Mangled - names are known only to the ttf module, so we call it to get - the name */ - if (ttf_fonts[num_ttf_fonts].ttf_id >= 0) { - pdf_add_dict (font_resource, - pdf_new_name ("BaseFont"), - pdf_new_name - (ttf_fontname(ttf_fonts[num_ttf_fonts].ttf_id))); - /* Otherwise we use the base name */ - } else { - pdf_add_dict (font_resource, - pdf_new_name ("BaseFont"), - pdf_new_name (map_name)); - } - tfm_firstchar = tfm_get_firstchar(tfm_font_id); - tfm_lastchar = tfm_get_lastchar(tfm_font_id); - if (partial_enabled && remap) { - unsigned char t; - pdf_firstchar=255; pdf_lastchar=0; - for (i=tfm_firstchar; i<=tfm_lastchar; i++) { - if ((t=twiddle(i)) < pdf_firstchar) - pdf_firstchar = t; - if (t > pdf_lastchar) - pdf_lastchar = t; - } - } else { - pdf_firstchar = tfm_firstchar; - pdf_lastchar = tfm_lastchar; - } - pdf_add_dict (font_resource, - pdf_new_name ("FirstChar"), - pdf_new_number (pdf_firstchar)); - pdf_add_dict (font_resource, - pdf_new_name ("LastChar"), - pdf_new_number (pdf_lastchar)); - tmp1 = pdf_new_array (); - for (i=pdf_firstchar; i<=pdf_lastchar; i++) { - if (partial_enabled && remap) { - int t; - if ((t=untwiddle(i)) <= tfm_lastchar && t>=tfm_firstchar) - pdf_add_array (tmp1, - pdf_new_number(ROUND(tfm_get_width - (tfm_font_id,t)*1000.0,0.1))); - else - pdf_add_array (tmp1, - pdf_new_number(0.0)); - } else - pdf_add_array (tmp1, - pdf_new_number(ROUND(tfm_get_width - (tfm_font_id, i)*1000.0,0.1))); - } - pdf_add_dict (font_resource, - pdf_new_name ("Widths"), - tmp1); - ttf_fonts[num_ttf_fonts].indirect = pdf_ref_obj(font_resource); - pdf_release_obj (font_resource); - result = num_ttf_fonts; - num_ttf_fonts += 1; - } - return result; -} - - -void ttf_close_all (void) -{ - int i, j; - /* Three arrays are created by this module and need to be released */ - /* First, each TeX font name that ends up as a postscript font gets - added to ttf_fonts (yes, even Times-Roman, etc.) */ - /* The first thing to do is to resolve all character references to - actual glyph references. If an external encoding is specified, - we simply look up the glyph name in the encoding. If the internal - encoding is being used, we add it to the used_chars array of - the internal encoding */ - for (i=0; i<num_ttf_fonts; i++) { - /* If font subsetting is enabled, each used character needs - to be added to the used_glyphs array in the corresponding ttf - */ - if (partial_enabled) { - /* We always consider .notdef to be used */ - ttf_add_to_used_glyphs (ttf_fonts[i].ttf_id, ".notdef"); - for (j=0; j<256; j++) { - char *glyph; - if (ttf_fonts[i].ttf_id >= 0 && - ttf_fonts[i].encoding_id >= 0 && - (ttf_fonts[i].used_chars)[j]) { - glyph = encoding_glyph (ttf_fonts[i].encoding_id, - j); - ttf_add_to_used_glyphs (ttf_fonts[i].ttf_id, glyph); - } - if (ttf_fonts[i].ttf_id >= 0 && - ttf_fonts[i].encoding_id < 0 && - (ttf_fonts[i].used_chars)[j]) - ttf_add_to_used_chars (ttf_fonts[i].ttf_id, j); - } - } - if (ttf_fonts[i].used_chars) - RELEASE (ttf_fonts[i].used_chars); - pdf_release_obj (ttf_fonts[i].indirect); - } - if (ttf_fonts) - RELEASE (ttf_fonts); - /* Second every distinct ttf name ends up in ttfs. It is possible - that two distinct tex names map to the same ttf name. That's why - there is a separate array for ttfs */ - /* Read any necessary font files and flush them */ - ttf_flush_all(); -} - - -#endif /* HAVE_TTF_FORMATS */ - diff --git a/Build/source/texk/dvipdfm/ttf.h b/Build/source/texk/dvipdfm/ttf.h deleted file mode 100755 index cefceaeeb0b..00000000000 --- a/Build/source/texk/dvipdfm/ttf.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef TTF_H -#define TTF_H - -#include "pdfobj.h" - -extern void ttf_set_verbose(void); -extern pdf_obj *ttf_font_resource (int ttf_id); -extern char *ttf_font_used (int ttf_id); -extern void ttf_disable_partial (void); -extern int ttf_font (const char *tex_name, int tfm_font_id, char - *resource_name, int encoding_id, int remap); -extern void ttf_set_mapfile (const char *name); -extern void ttf_close_all (void); -#endif /* TTF_H */ diff --git a/Build/source/texk/dvipdfm/twiddle.h b/Build/source/texk/dvipdfm/twiddle.h deleted file mode 100644 index 066637bcca6..00000000000 --- a/Build/source/texk/dvipdfm/twiddle.h +++ /dev/null @@ -1,11 +0,0 @@ -#define U(a) ((unsigned char)(a)) -#define twiddle(n) (( \ - (U(n)<=9)? ((n)+161): \ - (U(n)<=32? ((n)+163): \ - (U(n) == 127? 196: (n))))) - -#define untwiddle(n) (( \ - ((U(n)>=161 && (U(n))<=170)? ((n)-161): \ - ((U(n)>=173 && (U(n))<=195)? ((n)-163): \ - (U(n) == 196? 127: (n)))))) - diff --git a/Build/source/texk/dvipdfm/type1.c b/Build/source/texk/dvipdfm/type1.c deleted file mode 100644 index 77eb1e46e2d..00000000000 --- a/Build/source/texk/dvipdfm/type1.c +++ /dev/null @@ -1,1372 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -/* This is tailored for PDF */ - -#include <string.h> -#include <stdio.h> -#include <stdlib.h> -#include <math.h> -#include <time.h> -#include <ctype.h> -#include "system.h" -#include "mem.h" -#include "error.h" -#include "mfileio.h" -#include "pdfobj.h" -#include "numbers.h" -#include "type1.h" -#include "tfm.h" -#include "pdfparse.h" -#include "pdflimits.h" -#include "t1crypt.h" -#include "twiddle.h" -#include "encodings.h" - -static unsigned char verbose = 0; - -void type1_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - - -static unsigned long get_low_endian_quad (FILE *file) -{ - unsigned long result; - static unsigned bytes[4]; - int ch, i; - for (i=0; i<4; i++) { - if ((ch = fgetc (file)) < 0) { - ERROR ("get_low_endian_quad: Error reading file"); - } - bytes[i] = ch; - } - result = bytes[3]; - for (i=2; i>=0; i--) { - result = result*256u + bytes[i]; - } - return result; -} - -/* PFB section */ - -static char partial_enabled = 1; - -void type1_disable_partial (void) -{ - partial_enabled = 0; -} - -static unsigned num_pfbs = 0; -static unsigned max_pfbs = 0; -struct a_pfb -{ - char *pfb_name; - char *fontname; - pdf_obj *direct, *indirect, *descriptor; - char **used_glyphs; - char **int_encoding; - char *used_def_enc_chars; /* The positions used from the default - encoding. When a default encoding - is used, the glyph names will not - be known until the font is actually - read. Since the glyph names are - unknown, only the positions of the - used chars are stored when the - default encoding is used */ - unsigned n_used_glyphs, max_used_glyphs; -} *pfbs = NULL; - -static void init_a_pfb (struct a_pfb *pfb) -{ - int i; - pfb -> n_used_glyphs = 0; - pfb -> max_used_glyphs = 0; - pfb -> used_glyphs = NULL; - pfb->pfb_name = NULL; - pfb->fontname = NULL; - pfb->direct = NULL; - pfb->indirect = NULL; - pfb->descriptor = NULL; - pfb -> used_def_enc_chars = NULL; - if (partial_enabled) { - pfb -> int_encoding = NEW (256, char *); - for (i=0; i<256; i++) { - (pfb -> int_encoding)[i] = NULL; - } - } else { - pfb -> int_encoding = NULL; - } -} - -#include "standardenc.h" - -static void do_a_standard_enc(char **glyphs, char **encoding) -{ - int i; - for (i=0; i<256; i++) { - RELEASE (glyphs[i]); - glyphs[i] = NEW (strlen(encoding[i])+1, char); - strcpy (glyphs[i], encoding[i]); - } -} -#define FIXED_WIDTH 1 -#define SERIF 2 -#define STANDARD 32 -#define ITALIC 64 -#define SYMBOLIC 4 /* Fonts that don't have Adobe encodings (e.g., - cmr, should be set to be symbolic */ -#define STEMV 80 - - -int CDECL glyph_cmp (const void *v1, const void *v2) -{ - char *s1, *s2; - s1 = *((char **) v1); - s2 = *((char **) v2); - return (strcmp (s1, s2)); -} - -int CDECL glyph_match (const void *key, const void *v) -{ - char *s; - s = *((char **) v); - return (strcmp (key, s)); -} - -static unsigned long parse_header (unsigned char *filtered, unsigned char *buffer, - unsigned long length, int pfb_id) -{ - /* If the encoding has been overridden, this routine should eliminate any - built-in encoding (other than things like StandardEncoding) in - the header to save space */ - - /* On second thought, that's the way it _should_ work, but the - reader doesn't seem to agree. The reader is happy if you don't - specify an encoding as long as you actually change the locations - in the overriding encoding. The reader is unhappy if you don't - specify an encoding and don't change the location of the - characters in the overriding encoding. Ghostscript doesn't - have a problem with it. */ - - unsigned char *filtered_pointer; - int state = 0; - char *start, *end, *lead; - int copy = 1; - int last_number = 0; - char *glyph = NULL; -#ifdef MEM_DEBUG - MEM_START -#endif - /* This routine uses a state machine parser rather than trying to - interpret Postcript the way mpost.c does. There are only - a few key parameters it is trying to find */ - - /* State definitions - state 0: Initial state - state 1: Saw /FontName - state 2: Saw /Encoding - state 3: Saw "dup" in state 2 - state 4: Saw a number in state 3 - state 5: Saw /glyphname in state 4 - state 6: Saw /FontBBox in state 0 - state 7: Saw a '{' or a '[' in state 6 - state 8: Saw /ItalicAngle in state 0 */ - /* As the parser operates, start always points to the next point in - the buffer */ - start = (char *) buffer; - end = start+length; - filtered_pointer = filtered; - /* When the parser decides to keep text, the text - between lead and start is copied to the output buffer. To - keep a block of text from being copied, the parser simply - sets copy = 0 */ - lead = start; - skip_white (&start, end); - if (filtered && lead != start) { - memcpy (filtered_pointer, lead, start-lead); - filtered_pointer += start-lead; - lead = start; - } - while (start < end) { - char *ident; - pdf_obj *pdfobj; - copy = 1; /* By default, we copy most things */ - switch (state) { - /* First three states are very similar. In most cases we just - ignore other postscript junk and don't change state */ - case 0: - case 1: - case 2: - switch (*start) { - /* Ignore arrays and procedures */ - case '[': - case ']': - case '{': - case '}': - start += 1; - if (state >= 2) - state = 2; - break; - case '(': - pdfobj = parse_pdf_string (&start, end); - if (pdfobj == NULL) { - ERROR ("parse_header: Error parsing a string in pfb header"); - } - pdf_release_obj (pdfobj); - if (state == 1) { - if (filtered) - sprintf ((char *)filtered_pointer, "/%s ", pfbs[pfb_id].fontname); - filtered_pointer += strlen ((char *)filtered_pointer); - copy = 0; /* Don't copy old string to output */ - lead = start; /* Forget what we've seen */ - state = 0; - } - if (state >= 2) - state = 2; - break; - case '/': - start += 1; - ident = parse_ident (&start, end); - if (state == 0 && !strcmp (ident, "FontName")) { - state = 1; - } else if (state == 0 && !strcmp (ident, "Encoding")) { - state = 2; - if (filtered && !pfbs[pfb_id].used_def_enc_chars) { - sprintf ((char *)filtered_pointer, "/Encoding StandardEncoding readonly "); - filtered_pointer += strlen ((char *)filtered_pointer); - } - } else if (state == 0 && !strcmp (ident, "FontBBox")) { - state = 6; - } else if (state == 0 && !strcmp (ident, "ItalicAngle")) { - state = 8; - } else if (state == 1) { - if (filtered) { - sprintf ((char *)filtered_pointer, "/%s ", pfbs[pfb_id].fontname); - filtered_pointer += strlen ((char *)filtered_pointer); - } - copy = 0; /* Don't copy old string to putput */ - lead = start; /* Forget the name we've seen */ - state = 0; - } - RELEASE (ident); - break; - default: - ident = parse_ident (&start, end); - if (state == 2 && !strcmp (ident, "def")) { - /* Assume this is the end of the encoding */ - state = 0; - } else if (state == 2 && - !strcmp (ident, "dup")) { - copy = 0; /* Don't copy this to output buffer until we - know if we want to keep it */ - state = 3; - } else if (state == 2 && - !strcmp (ident, "StandardEncoding") && - pfbs[pfb_id].int_encoding) { - do_a_standard_enc(pfbs[pfb_id].int_encoding, standardencoding); - } else if (state == 2 && - !strcmp (ident, "ISOLatin1Encoding") && - pfbs[pfb_id].int_encoding) { - do_a_standard_enc(pfbs[pfb_id].int_encoding, isoencoding); - } - RELEASE (ident); - break; - } - break; - case 3: - ident = parse_ident (&start, end); - if (is_an_int (ident)) { - last_number = (int) atof (ident); - copy = 0; /* We still don't know if we want to keep it */ - state = 4; - } else { - state = 2; /* Contents back to "lead" will be flushed */ - } - RELEASE (ident); - break; - case 4: - if (*start == '/') { - start += 1; - glyph = parse_ident (&start, end); - copy = 0; /* We still don't know if we want to keep it. - Wait for a complete sequence before making - that decision */ - state = 5; - } else { - state = 2; - } - break; - case 5: - ident = parse_ident (&start, end); - /* Here we either decide to keep or remove the encoding entry */ - if (ident != NULL && !strcmp (ident, "put") && - (int) last_number < 256 && (int) last_number >= 0) { - skip_white(&start, end); /* Remove white space */ - lead = start; /* Remove this entry (it may or may not be - replaced with a rewritten entry) */ - copy = 0; - if (filtered && - pfbs[pfb_id].used_def_enc_chars && - (pfbs[pfb_id].used_def_enc_chars)[last_number]) { - sprintf((char *) filtered_pointer, "dup %d /%s put\n", - last_number, - glyph); - filtered_pointer += strlen ((char *) filtered_pointer); - } - /* Add this glyph to the internal encoding table for the pfb - */ - if (pfbs[pfb_id].int_encoding && - (!(pfbs[pfb_id].int_encoding)[last_number])) { - if ((pfbs[pfb_id].int_encoding)[last_number]) { - RELEASE ((pfbs[pfb_id].int_encoding)[last_number]); - } - (pfbs[pfb_id].int_encoding)[last_number] = glyph; - glyph = NULL; /* Prevent glyph from being released */ - } - } - if (glyph) - RELEASE (glyph); - if (ident != NULL) - RELEASE (ident); - state = 2; - break; - case 6: - switch (*start) { - case '[': - case '{': - start += 1 ; - state = 7; - break; - default: - state = 0; /* Something's probably wrong */ - fprintf (stderr, "\nUnexpected token after FontBBox. Struggling along\n"); - dump (start, end); - } - break; - case 7: - switch (*start) { - case ']': - case '}': - start += 1 ; - state = 0; - break; - case '{': - case '[': - case '(': - case '/': - state = 0; /* Something's probably wrong */ - fprintf (stderr, "\nUnexpected token in FontBBox array. Struggling along\n"); - dump (start, end); - break; - default: - ident = parse_ident (&start, end); - if ((ident) && is_a_number (ident)) { - pdf_obj *tmp = pdf_lookup_dict (pfbs[pfb_id].descriptor, - "FontBBox"); - pdf_add_array (tmp, pdf_new_number (atof (ident))); - } - if (ident) - RELEASE (ident); - } - break; - case 8: - switch (*start) { - case '{': case '}': case '[': case ']': case '/': - state = 0; - break; - default: - ident = parse_ident (&start, end); - if ((ident) && is_a_number (ident)) { - double italic = atof(ident); - if (italic != 0.0) { - int flags = (int) pdf_number_value(pdf_lookup_dict (pfbs[pfb_id].descriptor, - "Flags")); - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("ItalicAngle"), - pdf_new_number (italic)); - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("Flags"), - pdf_new_number (flags+ITALIC)); - } - } - if (ident) - RELEASE (ident); - state = 0; - } - } - skip_white (&start, end); - if (state >=2 && state <= 5 && !pfbs[pfb_id].used_def_enc_chars) { - lead = start; - } - if (copy && start != lead) { /* Flush everything back to "lead" */ - if (filtered) { - memcpy (filtered_pointer, lead, start-lead); - filtered_pointer += start-lead; - } - lead = start; - } - } -#ifdef MEM_DEBUG - MEM_END -#endif /* MEM_DEBUG */ - return filtered? filtered_pointer-filtered: length; -} - -static void dump_glyphs( char **glyphs, int n, int show_index) -{ - int i; - for (i=0; i<n; i++) { - if (show_index) - fprintf (stderr, "(%d", i); - if (glyphs[i]) - fprintf (stderr, "/%s", glyphs[i]); - else - fprintf (stderr, "(null)"); - if (show_index) - fprintf (stderr, ")"); - } - return; -} -static void dump_used( char *used_chars) -{ - int i; - for (i=0; i<256; i++) - fprintf (stderr, "(%d/%d)", i, used_chars[i]); - return; -} - - -#define ASCII 1 -#define BINARY 2 - -static int is_a_pfb (FILE *file) -{ - int result, ch; - if ((ch = fgetc (file)) == 128 && - ((ch = fgetc (file)) == ASCII || - (ch == BINARY))) { - result = 1; - } else - result = 0; - rewind (file); - return result; -} - -static unsigned char *get_pfb_segment (unsigned long *length, - FILE *file, int expected_type) -{ - unsigned char *buffer = NULL; - unsigned long nread; - unsigned long new_length; - int stream_type, ch; - - *length = 0; - /* Unfortunately, there can be several segments that need to be - concatenated, so we loop through all of them */ - for (;;) { - if ((ch = fgetc (file)) < 0) /* Some files don't terminate - properly */ - break; - if (ch != 128){ - sprintf (work_buffer, "get_pfb_segment: Not a pfb file.\n"); - sprintf (work_buffer, "get_pfb_segment: pfb header has %d, expecting 128\n", ch); - ERROR (work_buffer); - } - if ((stream_type = fgetc (file)) < 0 || stream_type != expected_type) { - seek_relative (file, -2); /* Backup up two (yuck!) */ - break; - } - new_length = get_low_endian_quad (file); - if (verbose > 4) { - fprintf (stderr, "Length of next PFB segment: %ld\n", - new_length); - } - buffer = RENEW (buffer, (*length)+new_length, unsigned char); - if ((nread = fread(buffer+(*length), sizeof(unsigned char), new_length, file)) != - new_length) { - fprintf (stderr, "Found only %ld/%ld bytes\n", nread, new_length); - ERROR ("type1_do_pfb_segment: Are you sure this is a pfb?"); - } - *length += new_length; - } - if (*length == 0) { - ERROR ("type1_get_pfb_segment: Segment length is zero"); - } - if (expected_type == ASCII) { - int i; - for (i=0; i<(*length); i++) { - if (buffer[i] == '\r') - buffer[i] = '\n'; /* Show my Unix prejudice */ - } - } - return buffer; -} - -static unsigned int glyph_length (char **glyphs) -{ - int i; - unsigned result = 0; - for (i=0; i<256; i++) { - result += strlen (glyphs[i]); - } - return result; -} - -static char *pfb_find_name (FILE *pfb_file) -{ - unsigned char *buffer; - unsigned long length = 0; - char *start, *end, *fontname; - int state = 0; -#ifdef MEM_DEBUG - MEM_START -#endif - rewind (pfb_file); - buffer = get_pfb_segment (&length, pfb_file, ASCII); - /* State definitions - state 0: Initial state - state 1: Saw /FontName */ - start = (char *) buffer; - end = start+length; - skip_white (&start, end); - fontname = NULL; - while (start < end && fontname == NULL) { - char *ident; - pdf_obj *pdfobj; - switch (*start) { - /* Ignore arrays and procedures */ - case '[': - case ']': - case '{': - case '}': - start += 1; - if (state == 1) { - ERROR ("Garbage following /FontName"); - } - break; - case '(': - pdfobj = parse_pdf_string (&start, end); - if (pdfobj == NULL) { - ERROR ("parse_header: Error parsing a string in pfb header"); - } - if (state == 1) { /* This string must be the font name */ - char *tmp = pdf_string_value (pdfobj); - fontname = NEW (strlen(tmp)+1, char); - memcpy (fontname, tmp, strlen(tmp)+1); - } - pdf_release_obj (pdfobj); - break; - case '/': - start += 1; - ident = parse_ident (&start, end); - if (state == 0 && !strcmp (ident, "FontName")) { - state = 1; - } else if (state == 1) { - fontname = NEW (strlen(ident)+1, char); - memcpy (fontname, ident, strlen(ident)+1); - } - RELEASE (ident); - break; - default: - ident = parse_ident (&start, end); - RELEASE (ident); - break; - } - skip_white (&start, end); - } - RELEASE (buffer); -#ifdef MEM_DEBUG - MEM_END -#endif /* MEM_DEBUG */ - return fontname; -} - -static void pfb_add_to_used_glyphs (int pfb_id, char *glyph) -{ - if (pfb_id >= 0 && pfb_id < num_pfbs && glyph) { - if (pfbs[pfb_id].n_used_glyphs == 0 || - !bsearch (glyph, pfbs[pfb_id].used_glyphs, - pfbs[pfb_id].n_used_glyphs, - sizeof (char *), glyph_match)) { - if (pfbs[pfb_id].n_used_glyphs+1 >= - pfbs[pfb_id].max_used_glyphs) { - pfbs[pfb_id].max_used_glyphs += 16; - pfbs[pfb_id].used_glyphs = RENEW (pfbs[pfb_id].used_glyphs, - pfbs[pfb_id].max_used_glyphs, - char *); - } - (pfbs[pfb_id].used_glyphs)[pfbs[pfb_id].n_used_glyphs] = - NEW (strlen(glyph)+1, char); - strcpy((pfbs[pfb_id].used_glyphs)[pfbs[pfb_id].n_used_glyphs], - glyph); - pfbs[pfb_id].n_used_glyphs += 1; - qsort (pfbs[pfb_id].used_glyphs, pfbs[pfb_id].n_used_glyphs, - sizeof (char *), glyph_cmp); - } - } -} - -static char *new_used_chars (void) -{ - char *result; - int i; - result = NEW (256, char); - for (i=0; i<256; i++) { - result[i] = 0; - } - return result; -} - -/* Mark the character at position "code" as used in the pfb font - corresponding to "pfb_id" */ -static void pfb_add_to_used_chars (int pfb_id, unsigned code) -{ - if (pfb_id >= 0 && pfb_id < num_pfbs && code < 256) { - if (!pfbs[pfb_id].used_def_enc_chars) { - pfbs[pfb_id].used_def_enc_chars = new_used_chars(); - } - (pfbs[pfb_id].used_def_enc_chars)[code] = 1; - } - if (code >= 256) - ERROR ("pfb_add_to_used_chars(): code >= 256"); - return; -} - -static unsigned long do_pfb_header (FILE *file, int pfb_id) -{ - unsigned char *buffer, *filtered = NULL; - unsigned long length = 0; -#ifdef MEM_DEBUG -MEM_START -#endif - buffer = get_pfb_segment (&length, file, ASCII); - if (partial_enabled) { - filtered = NEW (length+strlen(pfbs[pfb_id].fontname)+1+1024, unsigned - char); - } - /* We must parse the header even if not doing font subsetting so - that we can determine the parameters for the font descriptor. - parse_head() won't write to a null pointer */ - length = parse_header (filtered, buffer, length, pfb_id); - if (filtered) { - pdf_add_stream (pfbs[pfb_id].direct, (char *) filtered, length); - RELEASE (filtered); - } else { - pdf_add_stream (pfbs[pfb_id].direct, (char *) buffer, length); - } - RELEASE (buffer); -#ifdef MEM_DEBUG -MEM_END -#endif - return length; -} - - -static unsigned long parse_body (unsigned char *filtered, unsigned char - *unfiltered, unsigned long length, - char **used_glyphs, unsigned *n_used, - pdf_obj *descriptor) -{ - char *start, *end, *tail, *ident; - unsigned char *filtered_pointer; - double last_number = 0.0; - int state = 0; - if (verbose > 2) { - fprintf (stderr, "\nSearching for following glyphs in font:\n"); - dump_glyphs (used_glyphs, *n_used, 0); - } - start = (char *) unfiltered, end = (char *) unfiltered+length; - /* Skip first four bytes */ - tail = start; filtered_pointer = filtered; - start += 4; - /* Skip everything up to the charstrings section */ - while (start < end) { - pdf_obj *pdfobj; - skip_white (&start, end); - /* Very simple state machine - state = 0: nothing special - state = 1: Saw StdVW, but waiting for number after it */ - switch (*start) { - case '[': - case ']': - case '{': - case '}': - start += 1; - continue; - case '(': - pdfobj = parse_pdf_string (&start, end); - if (pdfobj == NULL) { - ERROR ("Error processing a string in a PFB file."); - } - pdf_release_obj (pdfobj); - continue; - case '/': - start += 1; - if ((ident = parse_ident (&start, end)) && - !strcmp ((char *) ident, "CharStrings")) { - RELEASE (ident); - break; - } else if (ident && !strcmp ((char *) ident, "StdVW")) { - state = 1; /* Saw StdVW */ - } - if (ident) { - RELEASE (ident); - } else { - fprintf (stderr, "\nError processing identifier in PFB file.\n"); - dump (start, end); - } - continue; - default: - ident = parse_ident (&start, end); - if (ident == NULL) - ERROR ("Error processing a symbol in the PFB file."); - if (is_an_int(ident)) - if (state == 1) { - pdf_add_dict (descriptor, pdf_new_name ("StemV"), - pdf_new_number (atof (ident))); - state = 0; /* Return to normal processing */ - } else - last_number = atof (ident); /* Might be start of RD */ - else { - if (!strcmp (ident, "RD") || - !strcmp (ident, "-|")) { - start += ((unsigned long) last_number) + 1; - } - } - RELEASE (ident); - continue; - } - break; - } - if (start >= end) - ERROR ("Unexpected end of binary portion of PFB file"); - /* Copy what we have so far over to the new buffer */ - if (filtered) { - memcpy (filtered_pointer, tail, start-tail); - /* Advance pointer into new buffer */ - filtered_pointer += (start-tail); - } - /* At this point, start is positioned just before the beginning of the glyphs, just after - the word /CharStrings. The earlier portion of the input buffer has - been copied to the output. The remainder of the routine need not - be executed if not doing font subsetting */ - if (filtered) { - char **this_glyph; - sprintf ((char *) filtered_pointer, " %d", *n_used); - filtered_pointer += strlen ((char *) filtered_pointer); - skip_white(&start, end); - /* The following ident *should* be the number of glyphs in this - file */ - ident = parse_ident (&start, end); - if (verbose>1) { - fprintf (stderr, "\n Embedding %d of %s glyphs\n", *n_used, ident); - } - if (ident == NULL || !is_an_int (ident) || *n_used > atof (ident)) - ERROR ("More glyphs needed than present in file"); - RELEASE (ident); - tail = start; - while (start < end && *start != '/') start++; - if (filtered) { - memcpy (filtered_pointer, tail, start-tail); - filtered_pointer += (start-tail); - } - /* Now we are exactly at the beginning of the glyphs */ - while (start < end && *start == '/') { - char *glyph; - tail = start; - start += 1; - glyph = parse_ident (&start, end); - /* Get the number that should follow the glyph name */ - skip_white(&start, end); - ident = parse_ident (&start, end); - if (!is_an_int (ident)) - ERROR ("Expecting an integer after glyph name"); - last_number = atof (ident); - RELEASE (ident); - /* The next identifier should be a "RD" or a "-|". We don't - really care what it is */ - skip_white(&start, end); - ident = parse_ident (&start, end); - RELEASE (ident); - /* Skip a blank */ - start += 1; - /* Skip the binary stream */ - start += (unsigned long) last_number; - /* Skip the "ND" or "|-" terminator */ - skip_white(&start, end); - ident = parse_ident (&start, end); - RELEASE (ident); - skip_white (&start, end); - if (*n_used != 0 && (this_glyph = bsearch (glyph, used_glyphs, *n_used, sizeof (char *), - glyph_match))) { - memcpy (filtered_pointer, tail, start-tail); - filtered_pointer += start-tail; - (*n_used)--; - /* Remove glyph and rearrange used_glyphs array */ - { - RELEASE (*this_glyph); - (*this_glyph) = used_glyphs[*n_used]; - qsort (used_glyphs, *n_used, sizeof (char *), glyph_cmp); - } - } - RELEASE (glyph); - } - if (*n_used != 0) { - fprintf (stderr, "Didn't find following required glyphs in the font:\n"); - dump_glyphs (used_glyphs, *n_used, 0); - ERROR ("Possibly the encoding is incorrect."); - } - /* Include the rest of the file verbatim */ - if (start < end){ - memcpy (filtered_pointer, start, end-start); - filtered_pointer += end-start; - } - if (verbose>1) { - fprintf (stderr, " (subsetting eliminated %ld bytes)", length-(filtered_pointer-filtered)); - } - } - return (filtered? filtered_pointer-filtered: length); -} - -static unsigned long do_pfb_body (FILE *file, int pfb_id) -{ - int i; - unsigned char *buffer=NULL, *filtered=NULL; - unsigned long length=0; -#ifdef MEM_DEBUG - MEM_START -#endif - buffer = get_pfb_segment (&length, file, BINARY); - /* We need to decrypt the binary - portion of the pfb */ - t1_crypt_init(EEKEY); - for (i=0; i<length; i++) { - buffer[i] = t1_decrypt(buffer[i]); - } - if (partial_enabled) { - filtered = NEW (length, unsigned char); - } - length = parse_body (filtered, buffer, length, - pfbs[pfb_id].used_glyphs, - &pfbs[pfb_id].n_used_glyphs, - pfbs[pfb_id].descriptor); - /* And reencrypt the whole thing */ - t1_crypt_init (EEKEY); - for (i=0; i<length; i++) { - buffer[i] = t1_encrypt(partial_enabled? filtered[i]: buffer[i]); - } - if (filtered) - RELEASE (filtered); - pdf_add_stream (pfbs[pfb_id].direct, (char *) buffer, length); - RELEASE (buffer); -#ifdef MEM_DEBUG - MEM_START -#endif - return length; -} - -static unsigned long do_pfb_trailer (FILE *file, pdf_obj *stream) -{ - unsigned char *buffer; - unsigned long length; - buffer = get_pfb_segment (&length, file, ASCII); - pdf_add_stream (stream, (char *) buffer, length); - RELEASE (buffer); - return length; -} - - -static pdf_obj *type1_fontfile (int pfb_id) -{ - if (pfb_id >= 0 && pfb_id < num_pfbs) - return pdf_link_obj(pfbs[pfb_id].indirect); - else - return NULL; -} - -static char *type1_fontname (int pfb_id) -{ - if (pfb_id >= 0 && pfb_id < num_pfbs) - return pfbs[pfb_id].fontname; - else - return NULL; -} - -/* Mangle_fontname mangles the name in place. fontname - must be big enough to add seven characters */ - -static void mangle_fontname(char *fontname) -{ - int i; - char ch; - static char first = 1; - memmove (fontname+7, fontname, strlen(fontname)+1); - /* The following procedure isn't very random, but it - doesn't need to be for this application. */ - if (first) { - srand (time(NULL)); - first = 0; - } - for (i=0; i<6; i++) { - ch = rand() % 26; - fontname[i] = ch+'A'; - } - fontname[6] = '+'; -} - - -/* This routine builds a default font descriptor with dummy values - filled in for the required keys. As the pfb file is parsed, - any values that are found are rewritten. By doing this, - all the required fields are found in the font descriptor - even if the pfb is somewhat defective. This approach is - conservative, with the cost of keeping the names around in memory - for a while. -*/ - -static void type1_start_font_descriptor (int pfb_id) -{ - pdf_obj *tmp1; - pfbs[pfb_id].descriptor = pdf_new_dict (); - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("Type"), - pdf_new_name ("FontDescriptor")); - /* For now, insert dummy values */ - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("CapHeight"), - pdf_new_number (850.0)); /* This number is arbitrary */ - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("Ascent"), - pdf_new_number (850.0)); /* This number is arbitrary */ - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("Descent"), - pdf_new_number (-200.0)); - tmp1 = pdf_new_array (); - pdf_add_dict (pfbs[pfb_id].descriptor, pdf_new_name ("FontBBox"), tmp1); - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("FontName"), - pdf_new_name (type1_fontname(pfb_id))); - - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("ItalicAngle"), - pdf_new_number(0.0)); - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("StemV"), /* StemV is required, StemH - is not */ - pdf_new_number (STEMV)); /* Use a default value */ - /* You don't need a fontfile for the standard fonts */ - if (pfb_id >= 0) - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("FontFile"), - type1_fontfile (pfb_id)); - - pdf_add_dict (pfbs[pfb_id].descriptor, - pdf_new_name ("Flags"), - pdf_new_number (SYMBOLIC)); /* Treat all fonts as symbolic */ - return; -} - -static int pfb_get_id (const char *pfb_name) -{ - int i; - for (i=0; i<num_pfbs; i++) { - if (pfbs[i].pfb_name && !strcmp (pfbs[i].pfb_name, pfb_name)) - break; - } - if (i == num_pfbs) { /* This font not previously called for */ - FILE *pfb_file = NULL; - char *full_pfb_name, *short_fontname; - if (!(full_pfb_name = kpse_find_file (pfb_name, kpse_type1_format, - 1)) || - !(pfb_file = MFOPEN (full_pfb_name, FOPEN_RBIN_MODE)) || - !(is_a_pfb (pfb_file))) { - if (pfb_file) - MFCLOSE (pfb_file); - i = -1; - } else { - short_fontname = pfb_find_name (pfb_file); - MFCLOSE (pfb_file); - if (num_pfbs >= max_pfbs) { - max_pfbs += MAX_FONTS; - pfbs = RENEW (pfbs, max_pfbs, struct a_pfb); - } - num_pfbs += 1; - init_a_pfb (pfbs+i); - pfbs[i].pfb_name = NEW (strlen(pfb_name)+1, char); - strcpy (pfbs[i].pfb_name, pfb_name); - pfbs[i].direct = pdf_new_stream(STREAM_COMPRESS); - pfbs[i].indirect = pdf_ref_obj (pfbs[i].direct); - if (partial_enabled) { - pfbs[i].fontname = NEW (strlen(short_fontname)+8, char); - strcpy (pfbs[i].fontname, short_fontname); - mangle_fontname(pfbs[i].fontname); - } - else { - pfbs[i].fontname = NEW (strlen(short_fontname)+1, char); - strcpy (pfbs[i].fontname, short_fontname); - } - type1_start_font_descriptor(i); - if (short_fontname) - RELEASE (short_fontname); - } - } - return i; -} - -static void pfb_release (int id) -{ - if (id >= 0 && id < num_pfbs) { - pdf_release_obj (pfbs[id].direct); - RELEASE (pfbs[id].pfb_name); - pdf_release_obj (pfbs[id].indirect); - RELEASE (pfbs[id].fontname); - if (pfbs[id].used_def_enc_chars) - RELEASE (pfbs[id].used_def_enc_chars); - if (pfbs[id].int_encoding){ - int i; - for (i=0; i<256; i++) { - if ((pfbs[id].int_encoding)[i]) - RELEASE ((pfbs[id].int_encoding)[i]); - } - RELEASE (pfbs[id].int_encoding); - } - if (pfbs[id].used_glyphs) { - unsigned i; - for (i=0; i<pfbs[id].n_used_glyphs; i++) { - RELEASE ((pfbs[id].used_glyphs)[i]); - } - RELEASE (pfbs[id].used_glyphs); - } - } -} - -static void release_glyphs (char **glyphs) -{ - int i; - for (i=0; i<256; i++) { - RELEASE (glyphs[i]); - } -} - -static void do_pfb (int pfb_id) -{ - char *full_pfb_name; - FILE *type1_binary_file; - pdf_obj *stream_dict; - unsigned long length1, length2, length3; - int ch; - full_pfb_name = kpse_find_file (pfbs[pfb_id].pfb_name, kpse_type1_format, - 1); - if (verbose == 1) - fprintf (stderr, "(PFB:%s", pfbs[pfb_id].pfb_name); - if (verbose > 1) - fprintf (stderr, "(PFB:%s", full_pfb_name); - if (full_pfb_name == NULL || - (type1_binary_file = MFOPEN (full_pfb_name, FOPEN_RBIN_MODE)) == NULL) { - fprintf (stderr, "type1_fontfile: Unable to find or open binary font file (%s)", - pfbs[pfb_id].pfb_name); - ERROR ("This existed when I checked it earlier!"); - return; - } - /* Following section doesn't hide PDF stream structure very well */ - length1 = do_pfb_header (type1_binary_file, pfb_id); - /* The following section seems determines which, if any, - glyphs were used via the internal encoding, which hasn't - been known until now.*/ - if (partial_enabled) { - int j; - if (verbose > 2) { - fprintf (stderr, "Default encoding:\n"); - dump_glyphs (pfbs[pfb_id].int_encoding, 256, 1); - } - if (pfbs[pfb_id].used_def_enc_chars) { - if (verbose > 2) - fprintf (stderr, "\nRetaining portion of default encoding:\n"); - for (j=0; j<256; j++) { - if ((pfbs[pfb_id].used_def_enc_chars)[j]) { - if (verbose > 2) - fprintf (stderr, "(%d/%s)", j, (pfbs[pfb_id].int_encoding)[j]); - pfb_add_to_used_glyphs (pfb_id, (pfbs[pfb_id].int_encoding)[j]); - } - } - } - } - length2 = do_pfb_body (type1_binary_file, pfb_id); - length3 = do_pfb_trailer (type1_binary_file, pfbs[pfb_id].direct); - if ((ch = fgetc (type1_binary_file)) != 128 || - (ch = fgetc (type1_binary_file)) != 3) { - fprintf (stderr, "\n\nWarning: PFB file may be improperly terminated\n"); - } - /* Got entire file! */ - if (verbose > 1) - fprintf (stderr, "\n Embedded size: %ld bytes\n", length1+length2+length3); - if (verbose) { - fprintf (stderr, ")"); - } - MFCLOSE (type1_binary_file); - stream_dict = pdf_stream_dict (pfbs[pfb_id].direct); - pdf_add_dict (stream_dict, pdf_new_name("Length1"), - pdf_new_number (length1)); - pdf_add_dict (stream_dict, pdf_new_name("Length2"), - pdf_new_number (length2)); - pdf_add_dict (stream_dict, pdf_new_name("Length3"), - pdf_new_number (length3)); - /* Finally, flush the descriptor */ - pdf_release_obj (pfbs[pfb_id].descriptor); - return; -} - -void pfb_flush_all (void) -{ - int i; - for (i=0; i<num_pfbs; i++) { - do_pfb(i); - pfb_release (i); - } - if (pfbs) - RELEASE (pfbs); -} - -struct a_type1_font -{ - pdf_obj *indirect, *encoding; - long pfb_id; - int encoding_id; - char *used_chars; -} *type1_fonts = NULL; -int num_type1_fonts = 0, max_type1_fonts = 0; - - -static void init_a_type1_font (struct a_type1_font *this_type1_font) -{ - if (partial_enabled) { - this_type1_font -> used_chars = new_used_chars (); - } else { - this_type1_font -> used_chars = NULL; - } -} - -pdf_obj *type1_font_resource (int type1_id) -{ - if (type1_id>=0 && type1_id<max_type1_fonts) - return pdf_link_obj(type1_fonts[type1_id].indirect); - else { - ERROR ("Invalid font id in type1_font_resource"); - return NULL; - } -} - -char *type1_font_used (int type1_id) -{ - char *result; - if (type1_id>=0 && type1_id<max_type1_fonts) { - result = type1_fonts[type1_id].used_chars; - } else { - fprintf (stderr, "type1_font_used: type1_id=%d\n", type1_id); - ERROR ("Invalid font id in type1_font_used"); - } - return result; -} - - -static int is_a_base_font (const char *name) -{ - static char *basefonts[] = { - "Courier", "Courier-Bold", "Courier-Oblique", - "Courier-BoldOblique", "Helvetica", "Helvetica-Bold", - "Helvetica-Oblique", "Helvetica-BoldOblique", "Symbol", - "Times-Roman", "Times-Bold", "Times-Italic", - "Times-BoldItalic", "ZapfDingbats" - }; - int i; - for (i=0; i<14; i++) { - if (!strcmp (name, basefonts[i])) - return 1; - } - return 0; -} - -int type1_font (const char *map_name, int tfm_font_id, char - *resource_name, int encoding_id, int remap) -{ - int i, result = -1; - int tfm_firstchar, tfm_lastchar; - int pdf_firstchar, pdf_lastchar; - int pfb_id = -1; - pdf_obj *font_resource, *tmp1, *font_encoding_ref; - - if (num_type1_fonts >= max_type1_fonts) { - max_type1_fonts = MAX (max_type1_fonts+MAX_FONTS, num_type1_fonts+1); - type1_fonts = RENEW (type1_fonts, max_type1_fonts, struct - a_type1_font); - } - - if ((map_name && is_a_base_font(map_name)) || - (pfb_id = pfb_get_id(map_name)) >= 0) { - /* Looks like we have a physical font (either a reader font or a - Type 1 font binary file). */ - init_a_type1_font (type1_fonts+num_type1_fonts); - type1_fonts[num_type1_fonts].pfb_id = pfb_id; - type1_fonts[num_type1_fonts].encoding_id = encoding_id; - /* Allocate a dictionary for the physical font */ - font_resource = pdf_new_dict (); - if (type1_fonts[num_type1_fonts].encoding_id >= 0) { - font_encoding_ref = encoding_ref (encoding_id); - pdf_add_dict (font_resource, - pdf_new_name ("Encoding"), - font_encoding_ref); - } - pdf_add_dict (font_resource, - pdf_new_name ("Type"), - pdf_new_name ("Font")); - pdf_add_dict (font_resource, - pdf_new_name ("Subtype"), - pdf_new_name ("Type1")); - pdf_add_dict (font_resource, - pdf_new_name ("Name"), - pdf_new_name (resource_name)); - if (type1_fonts[num_type1_fonts].pfb_id >= 0) { - pdf_add_dict (font_resource, - pdf_new_name ("FontDescriptor"), - pdf_ref_obj(pfbs[type1_fonts[num_type1_fonts].pfb_id].descriptor)); - } - /* If we are embedding this font, it may have been used by another virtual - font and we need to use the same mangled name. Mangled - names are known only to the pfb module, so we call it to get - the name */ - if (type1_fonts[num_type1_fonts].pfb_id >= 0) { - pdf_add_dict (font_resource, - pdf_new_name ("BaseFont"), - pdf_new_name - (type1_fontname(type1_fonts[num_type1_fonts].pfb_id))); - /* Otherwise we use the base name */ - } else { - pdf_add_dict (font_resource, - pdf_new_name ("BaseFont"), - pdf_new_name (map_name)); - } - if (!(map_name && is_a_base_font (map_name))) { - tfm_firstchar = tfm_get_firstchar(tfm_font_id); - tfm_lastchar = tfm_get_lastchar(tfm_font_id); - if (remap) { - unsigned char t; - pdf_firstchar=255; pdf_lastchar=0; - for (i=tfm_firstchar; i<=tfm_lastchar; i++) { - if ((t=twiddle(i)) < pdf_firstchar) - pdf_firstchar = t; - if (t > pdf_lastchar) - pdf_lastchar = t; - } - } else { - pdf_firstchar = tfm_firstchar; - pdf_lastchar = tfm_lastchar; - } - pdf_add_dict (font_resource, - pdf_new_name ("FirstChar"), - pdf_new_number (pdf_firstchar)); - pdf_add_dict (font_resource, - pdf_new_name ("LastChar"), - pdf_new_number (pdf_lastchar)); - tmp1 = pdf_new_array (); - for (i=pdf_firstchar; i<=pdf_lastchar; i++) { - if (remap) { - int t; - if ((t=untwiddle(i)) <= tfm_lastchar && t>=tfm_firstchar) - pdf_add_array (tmp1, - pdf_new_number(ROUND(tfm_get_width - (tfm_font_id,t)*1000.0,0.1))); - else - pdf_add_array (tmp1, - pdf_new_number(0.0)); - } else - pdf_add_array (tmp1, - pdf_new_number(ROUND(tfm_get_width - (tfm_font_id, i)*1000.0,0.1))); - } - pdf_add_dict (font_resource, - pdf_new_name ("Widths"), - tmp1); - } - type1_fonts[num_type1_fonts].indirect = pdf_ref_obj(font_resource); - pdf_release_obj (font_resource); - result = num_type1_fonts; - num_type1_fonts += 1; - } else { /* Don't have a physical font */ - result = -1; - } - return result; -} - - -void type1_close_all (void) -{ - int i, j; - /* Three arrays are created by this module and need to be released */ - /* First, each TeX font name that ends up as a postscript font gets - added to type1_fonts (yes, even Times-Roman, etc.) */ - /* The first thing to do is to resolve all character references to - actual glyph references. If an external encoding is specified, - we simply look up the glyph name in the encoding. If the internal - encoding is being used, we add it to the used_chars array of - the internal encoding */ - for (i=0; i<num_type1_fonts; i++) { - /* If font subsetting is enabled, each used character needs - to be added to the used_glyphs array in the corresponding pfb - */ - if (partial_enabled) { - /* We always consider .notdef to be used */ - pfb_add_to_used_glyphs (type1_fonts[i].pfb_id, ".notdef"); - for (j=0; j<256; j++) { - char *glyph; - if (type1_fonts[i].pfb_id >= 0 && - type1_fonts[i].encoding_id >= 0 && - (type1_fonts[i].used_chars)[j]) { - glyph = encoding_glyph (type1_fonts[i].encoding_id, - j); - pfb_add_to_used_glyphs (type1_fonts[i].pfb_id, glyph); - } - if (type1_fonts[i].pfb_id >= 0 && - type1_fonts[i].encoding_id < 0 && - (type1_fonts[i].used_chars)[j]) - pfb_add_to_used_chars (type1_fonts[i].pfb_id, j); - } - } - if (type1_fonts[i].used_chars) - RELEASE (type1_fonts[i].used_chars); - pdf_release_obj (type1_fonts[i].indirect); - } - RELEASE (type1_fonts); - /* Second every distinct pfb name ends up in pfbs. It is possible - that two distinct tex names map to the same pfb name. That's why - there is a separate array for pfbs */ - - /* Read any necessary font files and flush them */ - pfb_flush_all(); - -} - diff --git a/Build/source/texk/dvipdfm/type1.h b/Build/source/texk/dvipdfm/type1.h deleted file mode 100644 index 3c5a93cabd0..00000000000 --- a/Build/source/texk/dvipdfm/type1.h +++ /dev/null @@ -1,39 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - - -#ifndef TYPE1_H -#define TYPE1_H - -#include "pdfobj.h" - -extern void type1_set_verbose(void); -extern pdf_obj *type1_font_resource (int type1_id); -extern char *type1_font_used (int type1_id); -extern void type1_disable_partial (void); -extern int type1_font (const char *tex_name, int tfm_font_id, char - *resource_name, int encoding_id, int remap); -extern void type1_set_mapfile (const char *name); -extern void type1_close_all (void); -#endif /* TYPE1_H */ diff --git a/Build/source/texk/dvipdfm/version b/Build/source/texk/dvipdfm/version deleted file mode 100644 index 5c922fb74f4..00000000000 --- a/Build/source/texk/dvipdfm/version +++ /dev/null @@ -1 +0,0 @@ -0.13.3TL diff --git a/Build/source/texk/dvipdfm/vf.c b/Build/source/texk/dvipdfm/vf.c deleted file mode 100644 index cfde19f14b4..00000000000 --- a/Build/source/texk/dvipdfm/vf.c +++ /dev/null @@ -1,1018 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#include <stdio.h> -#include <ctype.h> -#include "system.h" -#include "mfileio.h" -#include "pdflimits.h" -#include "numbers.h" -#include "mem.h" -#include "error.h" -#include "tfm.h" -#include "pdfdev.h" -#include "dvi.h" -#include "vf.h" -#include "config.h" - -#include "dvicodes.h" - -#define VF_ID 202 -#define FIX_WORD_BASE 1048576.0 -#define TEXPT2PT (72.0/72.27) -#define FW2PT (TEXPT2PT/((double)(FIX_WORD_BASE))) - -static unsigned char verbose = 0, debug = 0; - -void vf_set_verbose(void) -{ - if (verbose < 255) { - verbose += 1; - } -} - - -struct font_def { - signed long font_id /* id used internally in vf file */; - unsigned long checksum, size, design_size; - char *directory, *name; - int tfm_id; /* id returned by TFM module */ - int dev_id; /* id returned by DEV module */ -}; - - -typedef struct font_def dev_font; - -struct vf -{ - char *tex_name; - spt_t ptsize; - unsigned long design_size; /* A fixword-pts quantity */ - int num_dev_fonts, max_dev_fonts; - dev_font *dev_fonts; - unsigned char **ch_pkt; - unsigned long *pkt_len; - unsigned num_chars; -}; - -struct vf *vf_fonts = NULL; -int num_vf_fonts = 0, max_vf_fonts = 0; - -static int read_header(FILE *vf_file, int thisfont) -{ - int i, result = 1, ch; - - /* Check for usual signature */ - if ((ch = get_unsigned_byte (vf_file)) == PRE && - (ch = get_unsigned_byte (vf_file)) == VF_ID) { - - /* If here, assume it's a legitimate vf file */ - ch = get_unsigned_byte (vf_file); - - /* skip comment */ - for (i=0; i<ch; i++) - get_unsigned_byte (vf_file); - - /* Skip checksum */ - get_unsigned_quad(vf_file); - - vf_fonts[thisfont].design_size = - get_unsigned_quad(vf_file); - } else { /* Try to fail gracefully and return an error to caller */ - fprintf (stderr, "VF file may be corrupt\n"); - result = 0; - } - return result; -} - - -static void resize_vf_fonts(int size) -{ - int i; - if (size > max_vf_fonts) { - vf_fonts = RENEW (vf_fonts, size, struct vf); - for (i=max_vf_fonts; i<size; i++) { - vf_fonts[i].num_dev_fonts = 0; - vf_fonts[i].max_dev_fonts = 0; - vf_fonts[i].dev_fonts = NULL; - } - max_vf_fonts = size; - } - return; -} - -static void resize_one_vf_font (struct vf *a_vf, unsigned size) -{ - unsigned i; - if (size > (a_vf->num_chars)) { - size = MAX (size, a_vf->num_chars+256); - a_vf->ch_pkt = RENEW (a_vf->ch_pkt, size, unsigned char *); - a_vf->pkt_len = RENEW (a_vf->pkt_len, size, unsigned long); - for (i=a_vf->num_chars; i<size; i++) { - (a_vf->ch_pkt)[i] = NULL; - (a_vf->pkt_len)[i] = 0; - } - a_vf->num_chars = size; - } -} - -static void read_a_char_def(FILE *vf_file, int thisfont, unsigned long pkt_len, - unsigned ch) -{ - unsigned char *pkt; - if (debug) - fprintf (stderr, "read_a_char_def: len=%ld, ch=%d\n", pkt_len, ch); - /* Resize and initialize character arrays if necessary */ - if (ch >= vf_fonts[thisfont].num_chars) { - resize_one_vf_font (vf_fonts+thisfont, ch+1); - } - if (pkt_len > 0) { - pkt = NEW (pkt_len, unsigned char); - if (fread (pkt, 1, pkt_len, vf_file) != pkt_len) - ERROR ("VF file ended prematurely."); - (vf_fonts[thisfont].ch_pkt)[ch] = pkt; - } - (vf_fonts[thisfont].pkt_len)[ch] = pkt_len; - return; -} - -static void read_a_font_def(FILE *vf_file, signed long font_id, int thisfont) -{ - dev_font *dev_font; - int dir_length, name_length; - if (debug) { - fprintf (stderr, "read_a_font_def: font_id = %ld\n", font_id); - } - if (vf_fonts[thisfont].num_dev_fonts >= - vf_fonts[thisfont].max_dev_fonts) { - vf_fonts[thisfont].max_dev_fonts += VF_ALLOC_SIZE; - vf_fonts[thisfont].dev_fonts = RENEW - (vf_fonts[thisfont].dev_fonts, - vf_fonts[thisfont].max_dev_fonts, - struct font_def); - } - dev_font = vf_fonts[thisfont].dev_fonts+ - vf_fonts[thisfont].num_dev_fonts; - dev_font -> font_id = font_id; - dev_font -> checksum = get_unsigned_quad (vf_file); - dev_font -> size = get_unsigned_quad (vf_file); - dev_font -> design_size = get_unsigned_quad (vf_file); - dir_length = get_unsigned_byte (vf_file); - name_length = get_unsigned_byte (vf_file); - dev_font -> directory = NEW (dir_length+1, char); - dev_font -> name = NEW (name_length+1, char); - fread (dev_font -> directory, 1, dir_length, vf_file); - fread (dev_font -> name, 1, name_length, vf_file); - (dev_font -> directory)[dir_length] = 0; - (dev_font -> name)[name_length] = 0; - vf_fonts[thisfont].num_dev_fonts += 1; - dev_font->tfm_id = tfm_open (dev_font -> name); - dev_font->dev_id = - dvi_locate_font (dev_font->name, - sqxfw (vf_fonts[thisfont].ptsize, - dev_font->size)); - if (debug) { - fprintf (stderr, "[%s/%s]\n", dev_font -> directory, dev_font -> name); - } - return; -} - - -void process_vf_file (FILE *vf_file, int thisfont) -{ - int eof = 0, code; - unsigned long font_id; - while (!eof) { - code = get_unsigned_byte (vf_file); - switch (code) { - case FNT_DEF1: - font_id = get_unsigned_byte (vf_file); - read_a_font_def (vf_file, font_id, thisfont); - break; - case FNT_DEF2: - font_id = get_unsigned_pair (vf_file); - read_a_font_def (vf_file, font_id, thisfont); - break; - case FNT_DEF3: - font_id = get_unsigned_triple(vf_file); - read_a_font_def (vf_file, font_id, thisfont); - break; - case FNT_DEF4: - font_id = get_signed_quad(vf_file); - read_a_font_def (vf_file, font_id, thisfont); - break; - default: - if (code < 242) { - long ch; - /* For a short packet, code is the pkt_len */ - ch = get_unsigned_byte (vf_file); - /* Skip over TFM width since we already know it */ - get_unsigned_triple (vf_file); - read_a_char_def (vf_file, thisfont, code, ch); - break; - } - if (code == 242) { - unsigned long pkt_len, ch; - pkt_len = get_unsigned_quad(vf_file); - ch = get_unsigned_quad (vf_file); - /* Skip over TFM width since we already know it */ - get_unsigned_quad (vf_file); - if (ch < 65536L) - read_a_char_def (vf_file, thisfont, pkt_len, ch); - else { - fprintf (stderr, "char=%ld\n", ch); - ERROR ("Long character (>16 bits) in VF file.\nI can't handle long characters!\n"); - } - break; - } - if (code == POST) { - eof = 1; - break; - } - fprintf (stderr, "Quitting on code=%d\n", code); - eof = 1; - break; - } - } - return; -} - -/* Unfortunately, the following code isn't smart enough - to load the vf only once for multiple point sizes. - You will get a separate copy of each VF in memory (and a separate - opening and reading of the file) for - each point size. Since VFs are pretty small, I guess - this is tolerable for now. In any case, - the PDF file will never repeat a physical font name */ -/* Note: This code needs to be able to recurse */ -/* Global variables such as num_vf_fonts require careful attention */ -int vf_locate_font (char *tex_name, spt_t ptsize) -{ - int thisfont = -1, i; - char *full_vf_file_name; - FILE *vf_file; - /* Has this name and ptsize already been loaded as a VF? */ - for (i=0; i<num_vf_fonts; i++) { - if (!strcmp (vf_fonts[i].tex_name, tex_name) && - vf_fonts[i].ptsize == ptsize) - break; - } - if (i != num_vf_fonts) { - thisfont = i; - } else { - /* It's hasn't already been loaded as a VF, so try to load it */ - full_vf_file_name = kpse_find_file (tex_name, - kpse_vf_format, - 1); -#ifdef HAVE_OMEGA_FORMATS - if (!full_vf_file_name) { - full_vf_file_name = kpse_find_file (tex_name, - kpse_ovf_format, - 1); - } -#endif - if (full_vf_file_name && - (vf_file = MFOPEN (full_vf_file_name, FOPEN_RBIN_MODE)) != NULL) { - if (verbose == 1) - fprintf (stderr, "(VF:%s", tex_name); - if (verbose > 1) - fprintf (stderr, "(VF:%s", full_vf_file_name); - if (num_vf_fonts >= max_vf_fonts) { - resize_vf_fonts (max_vf_fonts + VF_ALLOC_SIZE); - } - thisfont = num_vf_fonts++; - { /* Initialize some pointers and such */ - vf_fonts[thisfont].tex_name = NEW (strlen(tex_name)+1, char); - strcpy (vf_fonts[thisfont].tex_name, tex_name); - vf_fonts[thisfont].ptsize = ptsize; - vf_fonts[thisfont].num_chars = 0; - vf_fonts[thisfont].ch_pkt = NULL; - vf_fonts[thisfont].pkt_len = NULL; - } - read_header(vf_file, thisfont); - process_vf_file (vf_file, thisfont); - if (verbose) - fprintf (stderr, ")"); - MFCLOSE (vf_file); - } - } - return thisfont; -} - -#define next_byte() (*((*start)++)) -static UNSIGNED_BYTE unsigned_byte (unsigned char **start, unsigned char *end) -{ - UNSIGNED_BYTE byte = 0; - if (*start < end) - byte = next_byte(); - else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return byte; -} - -static SIGNED_BYTE signed_byte (unsigned char **start, unsigned char *end) -{ - int byte = 0; - if (*start < end) { - byte = next_byte(); - if (byte >= 0x80) - byte -= 0x100; - } - else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (SIGNED_BYTE) byte; -} - -static UNSIGNED_PAIR unsigned_pair (unsigned char **start, unsigned char *end) -{ - int i; - UNSIGNED_BYTE byte; - UNSIGNED_PAIR pair = 0; - if (end-*start > 1) { - for (i=0; i<2; i++) { - byte = next_byte(); - pair = pair*0x100u + byte; - } - } - else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return pair; -} - -static SIGNED_PAIR signed_pair (unsigned char **start, unsigned char *end) -{ - int i; - long pair = 0; - if (end - *start > 1) { - for (i=0; i<2; i++) { - pair = pair*0x100 + next_byte(); - } - if (pair >= 0x8000) { - pair -= 0x10000l; - } - } else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (SIGNED_PAIR) pair; -} - -static UNSIGNED_TRIPLE unsigned_triple(unsigned char **start, unsigned - char *end) -{ - int i; - long triple = 0; - if (end-*start > 2) { - for (i=0; i<3; i++) { - triple = triple*0x100u + next_byte(); - } - } else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (UNSIGNED_TRIPLE) triple; -} - -static SIGNED_TRIPLE signed_triple(unsigned char **start, unsigned char *end) -{ - int i; - long triple = 0; - if (end-*start > 2) { - for (i=0; i<3; i++) { - triple = triple*0x100 + next_byte(); - } - if (triple >= 0x800000l) - triple -= 0x1000000l; - } else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (SIGNED_TRIPLE) triple; -} - -static SIGNED_QUAD signed_quad(unsigned char **start, unsigned char *end) -{ - int byte, i; - long quad = 0; - /* Check sign on first byte before reading others */ - if (end-*start > 3) { - byte = next_byte(); - quad = byte; - if (quad >= 0x80) - quad = byte - 0x100; - for (i=0; i<3; i++) { - quad = quad*0x100 + next_byte(); - } - } else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (SIGNED_QUAD) quad; -} - -static UNSIGNED_QUAD unsigned_quad(unsigned char **start, unsigned char *end) -{ - int i; - unsigned long quad = 0; - if (end-*start > 3) { - for (i=0; i<4; i++) { - quad = quad*0x100u + next_byte(); - } - } else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return (UNSIGNED_QUAD) quad; -} - -static void vf_set (SIGNED_QUAD ch) -{ - /* Defer to the dvi_set() defined in dvi.c */ - dvi_set (ch); - return; -} - -static void vf_set1(unsigned char **start, unsigned char *end) -{ - vf_set (unsigned_byte(start, end)); - return; -} - -static void vf_set2(unsigned char **start, unsigned char *end) -{ - vf_set (unsigned_pair(start, end)); - return; -} - -static void vf_putrule(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - SIGNED_QUAD width, height; - height = signed_quad (start, end); - width = signed_quad (start, end); - if (width > 0 && height > 0) { - dvi_rule (sqxfw(ptsize,width), sqxfw(ptsize, height)); - } - return; -} - -static void vf_setrule(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - SIGNED_QUAD width, height, s_width; - height = signed_quad (start, end); - width = signed_quad (start, end); - s_width = sqxfw(ptsize, width); - if (width > 0 && height > 0) { - dvi_rule (s_width, sqxfw(ptsize, height)); - } - dvi_right (s_width); - return; -} - -static void vf_put1(unsigned char **start, unsigned char *end) -{ - dvi_put (unsigned_byte(start, end)); - return; -} - -static void vf_put2(unsigned char **start, unsigned char *end) -{ - dvi_put (unsigned_pair(start, end)); - return; -} - -static void vf_push(void) -{ - dvi_push(); - return; -} - -static void vf_pop(void) -{ - dvi_pop(); - return; -} - -static void vf_right (SIGNED_QUAD x, spt_t ptsize) -{ - dvi_right ((SIGNED_QUAD) (sqxfw(ptsize, x))); - return; -} - - -static void vf_right1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_right (signed_byte (start, end), ptsize); - return; -} - -static void vf_right2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_right (signed_pair (start, end), ptsize); - return; -} - -static void vf_right3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_right (signed_triple (start, end), ptsize); - return; -} - -static void vf_right4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_right (signed_quad (start, end), ptsize); - return; -} - -static void vf_w0(void) -{ - dvi_w0(); - return; -} - -static void vf_w (SIGNED_QUAD w, spt_t ptsize) -{ - dvi_w ((SIGNED_QUAD) (sqxfw(ptsize, w))); - return; -} - -static void vf_w1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_w (signed_byte(start, end), ptsize); - return; -} - -static void vf_w2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_w (signed_pair(start, end), ptsize); - return; -} - -static void vf_w3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_w (signed_triple(start, end), ptsize); - return; -} - -static void vf_w4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_w (signed_quad(start, end), ptsize); - return; -} - -static void vf_x0(void) -{ - dvi_x0(); - return; -} - -static void vf_x (SIGNED_QUAD x, spt_t ptsize) -{ - dvi_x ((SIGNED_QUAD) (sqxfw(ptsize, x))); - return; -} - -static void vf_x1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_x (signed_byte(start, end), ptsize); - return; -} - -static void vf_x2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_x (signed_pair(start, end), ptsize); - return; -} - -static void vf_x3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_x (signed_triple(start, end), ptsize); - return; -} - -static void vf_x4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_x (signed_quad(start, end), ptsize); - return; -} - -static void vf_down (SIGNED_QUAD y, spt_t ptsize) -{ - dvi_down ((SIGNED_QUAD) (sqxfw(ptsize, y))); - return; -} - -static void vf_down1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_down (signed_byte(start, end), ptsize); - return; -} - -static void vf_down2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_down (signed_pair(start, end), ptsize); - return; -} - -static void vf_down3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_down (signed_triple(start, end), ptsize); - return; -} - -static void vf_down4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_down (signed_quad(start, end), ptsize); - return; -} - -static void vf_y0(void) -{ - dvi_y0(); - return; -} - -static void vf_y (SIGNED_QUAD y, spt_t ptsize) -{ - dvi_y ((SIGNED_QUAD) (sqxfw(ptsize, y))); - return; -} - - -static void vf_y1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_y (signed_byte(start, end), ptsize); - return; -} - -static void vf_y2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_y (signed_pair(start, end), ptsize); - return; -} - -static void vf_y3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_y (signed_triple(start, end), ptsize); - return; -} - -static void vf_y4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_y (signed_quad(start, end), ptsize); - return; -} - -static void vf_z0(void) -{ - dvi_z0(); - return; -} - -static void vf_z (SIGNED_QUAD z, spt_t ptsize) -{ - dvi_z ((SIGNED_QUAD) (sqxfw(ptsize, z))); - return; -} - -static void vf_z1(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_z (signed_byte(start, end), ptsize); - return; -} - -static void vf_z2(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_z (signed_pair(start, end), ptsize); - return; -} - -static void vf_z3(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_z (signed_triple(start, end), ptsize); - return; -} - -static void vf_z4(unsigned char **start, unsigned char *end, spt_t ptsize) -{ - vf_z (signed_quad(start, end), ptsize); - return; -} - -static void vf_fnt (SIGNED_QUAD font_id, unsigned long vf_font) -{ - int i; - for (i=0; i<vf_fonts[vf_font].num_dev_fonts; i++) { - if (font_id == ((vf_fonts[vf_font].dev_fonts)[i]).font_id) { - break; - } - } - if (i < vf_fonts[vf_font].num_dev_fonts) { /* Font was found */ - dvi_set_font ((vf_fonts[vf_font].dev_fonts[i]).dev_id); - } else { - fprintf (stderr, "Font_id: %ld not found in VF\n", font_id); - } - return; -} - -static void vf_fnt1(unsigned char **start, unsigned char *end, - unsigned long vf_font) -{ - vf_fnt (unsigned_byte(start, end), vf_font); - return; -} - -static void vf_fnt2(unsigned char **start, unsigned char *end, - unsigned long vf_font) -{ - vf_fnt (unsigned_pair(start, end), vf_font); - return; -} - -static void vf_fnt3(unsigned char **start, unsigned char *end, - unsigned long vf_font) -{ - vf_fnt (unsigned_triple(start, end), vf_font); - return; -} - -static void vf_fnt4(unsigned char **start, unsigned char *end, - unsigned long vf_font) -{ - vf_fnt (signed_quad(start, end), vf_font); - return; -} - -static void vf_xxx (SIGNED_QUAD len, unsigned char **start, unsigned - char *end) -{ - /* For now, skip specials */ - if (end-*start >= len) - *start += len; - else - ERROR ("Premature end of DVI byte stream in VF font\n"); - return; -} - -static void vf_xxx1(unsigned char **start, unsigned char *end) -{ - vf_xxx (unsigned_byte(start, end), start, end); - return; -} - -static void vf_xxx2(unsigned char **start, unsigned char *end) -{ - vf_xxx (unsigned_pair(start, end), start, end); - return; -} - -static void vf_xxx3(unsigned char **start, unsigned char *end) -{ - vf_xxx (unsigned_triple(start, end), start, end); - return; -} - -static void vf_xxx4(unsigned char **start, unsigned char *end) -{ - vf_xxx (unsigned_quad(start, end), start, end); - return; -} - -void vf_set_char(SIGNED_QUAD ch, int vf_font) -{ - unsigned char opcode; - unsigned char *start, *end; - spt_t ptsize; - int default_font = -1; - if (vf_font < num_vf_fonts) { - /* Initialize to the first font or -1 if undefined */ - ptsize = vf_fonts[vf_font].ptsize; - if (vf_fonts[vf_font].num_dev_fonts > 0) - default_font = ((vf_fonts[vf_font].dev_fonts)[0]).dev_id; - dvi_vf_init (default_font); - if (ch >= vf_fonts[vf_font].num_chars || - !(start = (vf_fonts[vf_font].ch_pkt)[ch])) { - fprintf (stderr, "\nchar=0x%lx(%ld)\n", ch, ch); - fprintf (stderr, "Tried to set a nonexistent character in a virtual font"); - start = end = NULL; - } else { - end = start + (vf_fonts[vf_font].pkt_len)[ch]; - } - while (start && start < end) { - opcode = *(start++); - if (debug) { - fprintf (stderr, "VF opcode: %d", opcode); - if (isprint (opcode)) fprintf (stderr, " (\'%c\')\n", opcode); - else fprintf (stderr, "\n"); - } - switch (opcode) - { - case SET1: - vf_set1(&start, end); - break; - case SET2: - vf_set2(&start, end); - break; - case SET3: - case SET4: - ERROR ("Multibyte (>16 bits) character in VF packet.\nI can't handle this!"); - break; - case SET_RULE: - vf_setrule(&start, end, ptsize); - break; - case PUT1: - vf_put1(&start, end); - break; - case PUT2: - vf_put2(&start, end); - break; - case PUT3: - case PUT4: - ERROR ("Multibyte (>16 bits) character in VF packet.\nI can't handle this!"); - break; - case PUT_RULE: - vf_putrule(&start, end, ptsize); - break; - case NOP: - break; - case PUSH: - vf_push(); - break; - case POP: - vf_pop(); - break; - case RIGHT1: - vf_right1(&start, end, ptsize); - break; - case RIGHT2: - vf_right2(&start, end, ptsize); - break; - case RIGHT3: - vf_right3(&start, end, ptsize); - break; - case RIGHT4: - vf_right4(&start, end, ptsize); - break; - case W0: - vf_w0(); - break; - case W1: - vf_w1(&start, end, ptsize); - break; - case W2: - vf_w2(&start, end, ptsize); - break; - case W3: - vf_w3(&start, end, ptsize); - break; - case W4: - vf_w4(&start, end, ptsize); - break; - case X0: - vf_x0(); - break; - case X1: - vf_x1(&start, end, ptsize); - break; - case X2: - vf_x2(&start, end, ptsize); - break; - case X3: - vf_x3(&start, end, ptsize); - break; - case X4: - vf_x4(&start, end, ptsize); - break; - case DOWN1: - vf_down1(&start, end, ptsize); - break; - case DOWN2: - vf_down2(&start, end, ptsize); - break; - case DOWN3: - vf_down3(&start, end, ptsize); - break; - case DOWN4: - vf_down4(&start, end, ptsize); - break; - case Y0: - vf_y0(); - break; - case Y1: - vf_y1(&start, end, ptsize); - break; - case Y2: - vf_y2(&start, end, ptsize); - break; - case Y3: - vf_y3(&start, end, ptsize); - break; - case Y4: - vf_y4(&start, end, ptsize); - break; - case Z0: - vf_z0(); - break; - case Z1: - vf_z1(&start, end, ptsize); - break; - case Z2: - vf_z2(&start, end, ptsize); - break; - case Z3: - vf_z3(&start, end, ptsize); - break; - case Z4: - vf_z4(&start, end, ptsize); - break; - case FNT1: - vf_fnt1(&start, end, vf_font); - break; - case FNT2: - vf_fnt2(&start, end, vf_font); - break; - case FNT3: - vf_fnt3(&start, end, vf_font); - break; - case FNT4: - vf_fnt4(&start, end, vf_font); - break; - case XXX1: - vf_xxx1(&start, end); - break; - case XXX2: - vf_xxx2(&start, end); - break; - case XXX3: - vf_xxx3(&start, end); - break; - case XXX4: - vf_xxx4(&start, end); - break; - default: - if (opcode <= SET_CHAR_127) { - vf_set (opcode); - } else if (opcode >= FNT_NUM_0 && opcode <= FNT_NUM_63) { - vf_fnt (opcode - FNT_NUM_0, vf_font); - } else { - fprintf (stderr, "Unexpected opcode: %d\n", opcode); - ERROR ("Unexpected opcode in vf file\n"); - } - } - } - dvi_vf_finish(); - } else { - fprintf (stderr, "vf_set_char: font: %d", vf_font); - ERROR ("Font not loaded\n"); - } - return; -} - - -void vf_close_all_fonts(void) -{ - unsigned long i; - int j; - dev_font *one_font; -#ifdef MEM_DEBUG -MEM_START -#endif - for (i=0; i<num_vf_fonts; i++) { - /* Release the packet for each character */ - if (vf_fonts[i].ch_pkt) { - for (j=0; j<vf_fonts[i].num_chars; j++) { - if ((vf_fonts[i].ch_pkt)[j] != NULL) - RELEASE ((vf_fonts[i].ch_pkt)[j]); - } - RELEASE (vf_fonts[i].ch_pkt); - } - if (vf_fonts[i].pkt_len) - RELEASE (vf_fonts[i].pkt_len); - if (vf_fonts[i].tex_name) - RELEASE (vf_fonts[i].tex_name); - /* Release each font record */ - for (j=0; j<vf_fonts[i].num_dev_fonts; j++) { - one_font = &(vf_fonts[i].dev_fonts)[j]; - RELEASE (one_font -> directory); - RELEASE (one_font -> name); - } - if (vf_fonts[i].dev_fonts != NULL) - RELEASE (vf_fonts[i].dev_fonts); - } - if (vf_fonts != NULL) - RELEASE (vf_fonts); -#ifdef MEM_DEBUG -MEM_END -#endif - return; -} diff --git a/Build/source/texk/dvipdfm/vf.h b/Build/source/texk/dvipdfm/vf.h deleted file mode 100644 index 746f165b795..00000000000 --- a/Build/source/texk/dvipdfm/vf.h +++ /dev/null @@ -1,35 +0,0 @@ -/* $Header$ - - This is dvipdfm, a DVI to PDF translator. - Copyright (C) 1998, 1999 by Mark A. Wicks - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - The author may be contacted via the e-mail address - - mwicks@kettering.edu -*/ - -#ifndef _VH_H_ -#define _VH_H_ - -#include "pdfdev.h" - -extern void vf_set_verbose(void); -extern int vf_locate_font (char *tex_name, spt_t ptsize); -extern void vf_set_char(SIGNED_QUAD ch, int vf_font); -extern void vf_close_all_fonts(void); - -#endif diff --git a/Build/source/texk/dvipdfm/winansi.h b/Build/source/texk/dvipdfm/winansi.h deleted file mode 100644 index 87443d527d6..00000000000 --- a/Build/source/texk/dvipdfm/winansi.h +++ /dev/null @@ -1,53 +0,0 @@ -static char *winansi_encoding[256] = { - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", ".notdef", ".notdef", ".notdef", - ".notdef", ".notdef", - "space", "exclam", "quotedbl", "numbersign", "dollar", - "percent", "ampersand", "quotesingle", "parenleft", "parenright", - "asterisk", "plus", "comma", "hyphen", "period", - "slash", "zero", "one", "two", "three", "four", - "five", "six", "seven", "eight", "nine", "colon", - "semicolon", "less", "equal", "greater", "question", - "at", "A", "B", "C", "D", - "E", "F", "G", "H", "I", - "J", "K", "L", "M", "N", - "O", "P", "Q", "R", "S", - "T", "U", "V", "W", "X", - "Y", "Z", "bracketleft", "backslash", "bracketright", - "asciicircum", "underscore", "grave", "a", "b", - "c", "d", "e", "f", "g", - "h", "i", "j", "k", "l", - "m", "n", "o", "p", "q", - "r", "s", "t", "u", "v", - "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", "bullet", "bullet", - "bullet", "quotesinglbase", "florin", "quotedblbase", "ellipsis", - "dagger", "daggerdbl", "circumflex", "perthousand", "Scaron", - "guilsinglleft", "OE", "bullet", "bullet", "bullet", - "bullet", "quoteleft", "quoteright", "quotedblleft", - "quotedblright", - "bullet", "endash", "emdash", "tilde", "trademark", - "scaron", "guilsinglright", "oe", "bullet", "bullet", - "Ydieresis", "space", "exclamdown", "cent", "sterling", - "currency", "yen", "brokenbar", "section", "dieresis", - "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyphen", "registered", - "macron", "degree", "plusminus", "twosuperior", "threesuperior", - "acute", "mu", "paragraph", "periodcentered", "cedilla", - "onesuperior", "ordmasculine", "guillemotright", "onequarter", "onehalf", - "threequarters", "questiondown", "Agrave", "Aacute", "Acircumflex", - "Atilde", "Adieresis", "Aring", "AE", "Ccedilla", "Egrave", - "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", - "Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve", "Oacute", - "Ocircumflex", "Otilde", "Odieresis", "multiply", "Oslash", - "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", - "germandbls", "agrave", "aacute", "acircumflex", "atilde", - "adieresis", "aring", "ae", "ccedilla", "egrave", "eacute", - "ecircumflex", "edieresis", "igrave", "iacute", "icircumflex", - "idieresis", "eth", "ntilde", "ograve", "oacute", "ocircumflex", - "otilde", "odieresis", "divide", "oslash", "ugrave", "uacute", - "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis" -}; |