From 30e61fe4097725c13e4e0b0404f0db9258b09a62 Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 4 Dec 2019 01:57:47 -0800 Subject: [PATCH] Initial commit --- .gitignore | 2 + Cargo.toml | 9 + src/main.rs | 3 + vendor/most-5.1.0/COPYING | 339 + vendor/most-5.1.0/COPYRIGHT | 17 + vendor/most-5.1.0/Makefile | 43 + vendor/most-5.1.0/NEWS | 12 + vendor/most-5.1.0/README | 95 + vendor/most-5.1.0/autoconf/Makefile | 8 + vendor/most-5.1.0/autoconf/Makefile.in | 43 + vendor/most-5.1.0/autoconf/aclocal.m4 | 1096 +++ vendor/most-5.1.0/autoconf/config.guess | 1530 ++++ vendor/most-5.1.0/autoconf/config.sub | 1782 ++++ vendor/most-5.1.0/autoconf/configure.ac | 76 + vendor/most-5.1.0/autoconf/install.sh | 251 + vendor/most-5.1.0/autoconf/mkinsdir.sh | 32 + .../most-5.1.0/autoconf/scripts/getsyslibs.sh | 77 + vendor/most-5.1.0/changes.txt | 201 + vendor/most-5.1.0/config.log | 1216 +++ vendor/most-5.1.0/config.status | 1082 +++ vendor/most-5.1.0/configure | 7574 +++++++++++++++++ vendor/most-5.1.0/doc/lesskeys.rc | 59 + vendor/most-5.1.0/doc/most-fun.txt | 45 + vendor/most-5.1.0/doc/most.1 | 432 + vendor/most-5.1.0/doc/most.hlp | 347 + vendor/most-5.1.0/doc/most.rc | 129 + vendor/most-5.1.0/doc/most.txt | 421 + vendor/most-5.1.0/doc/tm/Makefile | 27 + vendor/most-5.1.0/doc/tm/most.tm | 427 + vendor/most-5.1.0/most.lis | 63 + vendor/most-5.1.0/src/DESCRIP.MMS | 68 + vendor/most-5.1.0/src/Makefile | 150 + vendor/most-5.1.0/src/Makefile.in | 104 + vendor/most-5.1.0/src/Makefile.w32 | 90 + vendor/most-5.1.0/src/RTL.OPT | 2 + vendor/most-5.1.0/src/VMSMAKE.COM | 65 + vendor/most-5.1.0/src/buffer.c | 579 ++ vendor/most-5.1.0/src/buffer.h | 81 + vendor/most-5.1.0/src/chkslang.c | 89 + vendor/most-5.1.0/src/cmd.c | 287 + vendor/most-5.1.0/src/config.h | 107 + vendor/most-5.1.0/src/config.hin | 106 + vendor/most-5.1.0/src/display.c | 67 + vendor/most-5.1.0/src/display.h | 38 + vendor/most-5.1.0/src/edit.c | 277 + vendor/most-5.1.0/src/edit.h | 22 + vendor/most-5.1.0/src/file.c | 846 ++ vendor/most-5.1.0/src/file.h | 41 + vendor/most-5.1.0/src/help.c | 206 + vendor/most-5.1.0/src/jdmacros.h | 72 + vendor/most-5.1.0/src/keym.c | 734 ++ vendor/most-5.1.0/src/keym.h | 84 + vendor/most-5.1.0/src/keyparse.c | 320 + vendor/most-5.1.0/src/keyparse.h | 21 + vendor/most-5.1.0/src/line.c | 687 ++ vendor/most-5.1.0/src/line.h | 35 + vendor/most-5.1.0/src/main.c | 54 + vendor/most-5.1.0/src/modules.lis | 14 + vendor/most-5.1.0/src/most.c | 565 ++ vendor/most-5.1.0/src/most.h | 79 + vendor/most-5.1.0/src/mostconf.h | 46 + vendor/most-5.1.0/src/objs/buffer.o | Bin 0 -> 33832 bytes vendor/most-5.1.0/src/objs/chkslang | Bin 0 -> 26352 bytes vendor/most-5.1.0/src/objs/chkslang.o | Bin 0 -> 16368 bytes vendor/most-5.1.0/src/objs/cmd.o | Bin 0 -> 28624 bytes vendor/most-5.1.0/src/objs/display.o | Bin 0 -> 12176 bytes vendor/most-5.1.0/src/objs/edit.o | Bin 0 -> 19416 bytes vendor/most-5.1.0/src/objs/file.o | Bin 0 -> 48408 bytes vendor/most-5.1.0/src/objs/help.o | Bin 0 -> 22664 bytes vendor/most-5.1.0/src/objs/keym.o | Bin 0 -> 69960 bytes vendor/most-5.1.0/src/objs/keyparse.o | Bin 0 -> 26264 bytes vendor/most-5.1.0/src/objs/line.o | Bin 0 -> 34744 bytes vendor/most-5.1.0/src/objs/main.o | Bin 0 -> 12200 bytes vendor/most-5.1.0/src/objs/most | Bin 0 -> 323864 bytes vendor/most-5.1.0/src/objs/most.o | Bin 0 -> 44848 bytes vendor/most-5.1.0/src/objs/search.o | Bin 0 -> 36952 bytes vendor/most-5.1.0/src/objs/sysdep.o | Bin 0 -> 27968 bytes vendor/most-5.1.0/src/objs/window.o | Bin 0 -> 57024 bytes vendor/most-5.1.0/src/search.c | 667 ++ vendor/most-5.1.0/src/search.h | 32 + vendor/most-5.1.0/src/sysconf.h | 107 + vendor/most-5.1.0/src/sysdep.c | 773 ++ vendor/most-5.1.0/src/sysdep.h | 51 + vendor/most-5.1.0/src/version.h | 24 + vendor/most-5.1.0/src/w32conf.h | 39 + vendor/most-5.1.0/src/window.c | 1048 +++ vendor/most-5.1.0/src/window.h | 88 + 87 files changed, 26203 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 src/main.rs create mode 100644 vendor/most-5.1.0/COPYING create mode 100644 vendor/most-5.1.0/COPYRIGHT create mode 100644 vendor/most-5.1.0/Makefile create mode 100644 vendor/most-5.1.0/NEWS create mode 100644 vendor/most-5.1.0/README create mode 100644 vendor/most-5.1.0/autoconf/Makefile create mode 100644 vendor/most-5.1.0/autoconf/Makefile.in create mode 100644 vendor/most-5.1.0/autoconf/aclocal.m4 create mode 100755 vendor/most-5.1.0/autoconf/config.guess create mode 100755 vendor/most-5.1.0/autoconf/config.sub create mode 100644 vendor/most-5.1.0/autoconf/configure.ac create mode 100755 vendor/most-5.1.0/autoconf/install.sh create mode 100755 vendor/most-5.1.0/autoconf/mkinsdir.sh create mode 100755 vendor/most-5.1.0/autoconf/scripts/getsyslibs.sh create mode 100644 vendor/most-5.1.0/changes.txt create mode 100644 vendor/most-5.1.0/config.log create mode 100755 vendor/most-5.1.0/config.status create mode 100755 vendor/most-5.1.0/configure create mode 100644 vendor/most-5.1.0/doc/lesskeys.rc create mode 100644 vendor/most-5.1.0/doc/most-fun.txt create mode 100644 vendor/most-5.1.0/doc/most.1 create mode 100644 vendor/most-5.1.0/doc/most.hlp create mode 100644 vendor/most-5.1.0/doc/most.rc create mode 100644 vendor/most-5.1.0/doc/most.txt create mode 100644 vendor/most-5.1.0/doc/tm/Makefile create mode 100644 vendor/most-5.1.0/doc/tm/most.tm create mode 100644 vendor/most-5.1.0/most.lis create mode 100644 vendor/most-5.1.0/src/DESCRIP.MMS create mode 100644 vendor/most-5.1.0/src/Makefile create mode 100644 vendor/most-5.1.0/src/Makefile.in create mode 100644 vendor/most-5.1.0/src/Makefile.w32 create mode 100644 vendor/most-5.1.0/src/RTL.OPT create mode 100644 vendor/most-5.1.0/src/VMSMAKE.COM create mode 100644 vendor/most-5.1.0/src/buffer.c create mode 100644 vendor/most-5.1.0/src/buffer.h create mode 100644 vendor/most-5.1.0/src/chkslang.c create mode 100644 vendor/most-5.1.0/src/cmd.c create mode 100644 vendor/most-5.1.0/src/config.h create mode 100644 vendor/most-5.1.0/src/config.hin create mode 100644 vendor/most-5.1.0/src/display.c create mode 100644 vendor/most-5.1.0/src/display.h create mode 100644 vendor/most-5.1.0/src/edit.c create mode 100644 vendor/most-5.1.0/src/edit.h create mode 100644 vendor/most-5.1.0/src/file.c create mode 100644 vendor/most-5.1.0/src/file.h create mode 100644 vendor/most-5.1.0/src/help.c create mode 100644 vendor/most-5.1.0/src/jdmacros.h create mode 100644 vendor/most-5.1.0/src/keym.c create mode 100644 vendor/most-5.1.0/src/keym.h create mode 100644 vendor/most-5.1.0/src/keyparse.c create mode 100644 vendor/most-5.1.0/src/keyparse.h create mode 100644 vendor/most-5.1.0/src/line.c create mode 100644 vendor/most-5.1.0/src/line.h create mode 100644 vendor/most-5.1.0/src/main.c create mode 100644 vendor/most-5.1.0/src/modules.lis create mode 100644 vendor/most-5.1.0/src/most.c create mode 100644 vendor/most-5.1.0/src/most.h create mode 100644 vendor/most-5.1.0/src/mostconf.h create mode 100644 vendor/most-5.1.0/src/objs/buffer.o create mode 100755 vendor/most-5.1.0/src/objs/chkslang create mode 100644 vendor/most-5.1.0/src/objs/chkslang.o create mode 100644 vendor/most-5.1.0/src/objs/cmd.o create mode 100644 vendor/most-5.1.0/src/objs/display.o create mode 100644 vendor/most-5.1.0/src/objs/edit.o create mode 100644 vendor/most-5.1.0/src/objs/file.o create mode 100644 vendor/most-5.1.0/src/objs/help.o create mode 100644 vendor/most-5.1.0/src/objs/keym.o create mode 100644 vendor/most-5.1.0/src/objs/keyparse.o create mode 100644 vendor/most-5.1.0/src/objs/line.o create mode 100644 vendor/most-5.1.0/src/objs/main.o create mode 100755 vendor/most-5.1.0/src/objs/most create mode 100644 vendor/most-5.1.0/src/objs/most.o create mode 100644 vendor/most-5.1.0/src/objs/search.o create mode 100644 vendor/most-5.1.0/src/objs/sysdep.o create mode 100644 vendor/most-5.1.0/src/objs/window.o create mode 100644 vendor/most-5.1.0/src/search.c create mode 100644 vendor/most-5.1.0/src/search.h create mode 100644 vendor/most-5.1.0/src/sysconf.h create mode 100644 vendor/most-5.1.0/src/sysdep.c create mode 100644 vendor/most-5.1.0/src/sysdep.h create mode 100644 vendor/most-5.1.0/src/version.h create mode 100644 vendor/most-5.1.0/src/w32conf.h create mode 100644 vendor/most-5.1.0/src/window.c create mode 100644 vendor/most-5.1.0/src/window.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53eaa21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +**/*.rs.bk diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..596fe9f --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "rust-most" +version = "0.1.0" +authors = ["greg "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/vendor/most-5.1.0/COPYING b/vendor/most-5.1.0/COPYING new file mode 100644 index 0000000..e77696a --- /dev/null +++ b/vendor/most-5.1.0/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, 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. + + + Copyright (C) 19yy + + 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., 675 Mass Ave, Cambridge, MA 02139, 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. + + , 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/vendor/most-5.1.0/COPYRIGHT b/vendor/most-5.1.0/COPYRIGHT new file mode 100644 index 0000000..7df7d57 --- /dev/null +++ b/vendor/most-5.1.0/COPYRIGHT @@ -0,0 +1,17 @@ + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018,2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. diff --git a/vendor/most-5.1.0/Makefile b/vendor/most-5.1.0/Makefile new file mode 100644 index 0000000..bc824b7 --- /dev/null +++ b/vendor/most-5.1.0/Makefile @@ -0,0 +1,43 @@ +# -*- sh -*- + +#This is a UNIX-only makefile. + + +SHELL = /bin/sh + +all: makefiles + cd src; $(MAKE) all +Makefile: configure autoconf/Makefile.in + @echo "Makefile is older than the configure script". + @echo "Please re-run the configure script." + @exit 1 +src/Makefile: configure src/Makefile.in src/config.hin + @echo "src/Makefile is older than its dependencies". + @echo "Please re-run the configure script." + @exit 1 +makefiles: Makefile src/Makefile +clean: + /bin/rm -f *~ + cd src; $(MAKE) clean +# +distclean: + /bin/rm -f *~ Makefile config.status config.log config.cache files.pck + cd src; $(MAKE) distclean +# +install: all + cd src; $(MAKE) install +# + +# The symlinks target is for my own private use. It simply creates the object +# directory as a symbolic link to a local disk instead of an NFS mounted one. +symlinks: + cd src; $(MAKE) symlinks +configure: autoconf/aclocal.m4 autoconf/configure.ac + cd autoconf && autoconf && mv ./configure .. +update: autoconf/config.sub autoconf/config.guess +autoconf/config.guess: /usr/share/misc/config.guess + /bin/cp -f /usr/share/misc/config.guess autoconf/config.guess +autoconf/config.sub: /usr/share/misc/config.sub + /bin/cp -f /usr/share/misc/config.sub autoconf/config.sub + +.PHONY: all clean distclean install symlinks update makefiles diff --git a/vendor/most-5.1.0/NEWS b/vendor/most-5.1.0/NEWS new file mode 100644 index 0000000..409c47b --- /dev/null +++ b/vendor/most-5.1.0/NEWS @@ -0,0 +1,12 @@ +NEWS for v5.1.0 + +This is primarily a maintenance release. + +The most notable update is that regular expression (RE) searches are +supported again. In ancient times, most supported RE searches, but +was RE support was dropped was dropped when UTF-8 support was added. +The default is still to use a non-RE search. The -r command line +switch may be used to make the default a RE-based search. Within +most, ":r" may be used to toggle the search type between RE and +non-RE. + diff --git a/vendor/most-5.1.0/README b/vendor/most-5.1.0/README new file mode 100644 index 0000000..928e8d0 --- /dev/null +++ b/vendor/most-5.1.0/README @@ -0,0 +1,95 @@ +Compiling MOST requires an ANSI C compiler. In addition you MUST have +a copy of the S-Lang library version 2.X. Version 1 is no longer +supported. This library is available from +. + + INSTALLATION INSTRUCTIONS + +On Unix, you should be able to simply type: + + ./configure; make + +at the Unix prompt. If you are using CYGWIN, you will need to ensure +that libslang.dll is on your PATH; otherwise the chkslang program will +not run. + +If using DJGPP or MINGW32, do: + + + cd src + make -f makefile.w32 + +For VMS, edit the file `vmsmake.com'. When finished, either type `@vmsmake' +or `@vmsmake gcc' at the VMS prompt. Once MOST has been created, it must be +installed as a foreign command. This means that you must first type: + + $ most :== $device:[dir.containing.most]most.exe + +I suggest that you first build MOST then view the doc file using MOST (`most +most.doc'). If you need help, hit the `h' key from within MOST. + +MOST understands the following environment variables: + + MOST_SWITCHES + MOST_EDITOR, SLANG_EDITOR, EDITOR + MOST_INITFILE + MOST_HELP + + 1. MOST_SWITCHES is a list of commonly used switches. + + 2. MOST_EDITOR and SLANG_EDITOR are formatted strings describing what + editor to use. The string can contain %s and %d formatting descriptors + that represent the file name and line number, respectively. For + example, if JED is your editor, then set MOST_EDITOR to 'jed %s -g %d'. + Since MOST is just one of several programs that use the S-Lang library, + I suggest that you use SLANG_EDITOR instead of MOST_EDITOR. + + 3. MOST_INITFILE specifies a configuration file for MOST. One can specify + keymaps, colors, etc. via this file. In the absence of + MOST_INITFILE, the program will look for a file call .mostrc in + the home directory (most.rc on non-Unix systems). + + See `lesskeys.rc' for an example of a key definition file that + causes MOST to emulate the `less' pager. See also most-fun.txt + for a list of functions that can be used for key definitions. The + file `most.rc' list the bindings that are built-in to the + viewer. + + 4. If MOST_HELP is defined to point to an existing file, MOST will load a + file as a help file. This is useful for describing custom keymaps. + +Any problems with MOST should be reported to jed@jedsoft.org. + + [Note also that this is really the first non-trivial C program that + I ever wrote. Because of this, much of the code appears very + amateurish. For example, I tried very hard to avoid C constructs + that some authors strongly discourage, e.g., goto, continue, + break. Of course this made some of the code convoluted, e.g., + contrast + + int test = 1; + while (test) + { + function (); + + if (-1 == some_function ()) + test = 0; + + if (test) + some_other_function (); + } + + with: + + while (1) + { + function (); + if (-1 == some_function ()) break; + some_other_function (); + } + + I have since concluded that many text-book authors never actually + wrote anything non-trivial. Whenever I work on MOST, I try to make + some changes in an effort to clean it up. ] + +--John Davis diff --git a/vendor/most-5.1.0/autoconf/Makefile b/vendor/most-5.1.0/autoconf/Makefile new file mode 100644 index 0000000..8112319 --- /dev/null +++ b/vendor/most-5.1.0/autoconf/Makefile @@ -0,0 +1,8 @@ +../configure: aclocal.m4 configure.ac + /bin/rm -rf autom4te.cache + autoconf && mv ./configure .. +update: config.sub config.guess +config.guess: /usr/share/misc/config.guess + /bin/cp -f /usr/share/misc/config.guess config.guess +config.sub: /usr/share/misc/config.sub + /bin/cp -f /usr/share/misc/config.sub config.sub diff --git a/vendor/most-5.1.0/autoconf/Makefile.in b/vendor/most-5.1.0/autoconf/Makefile.in new file mode 100644 index 0000000..351ebdb --- /dev/null +++ b/vendor/most-5.1.0/autoconf/Makefile.in @@ -0,0 +1,43 @@ +# -*- sh -*- + +#This is a UNIX-only makefile. + +@SET_MAKE@ +SHELL = /bin/sh + +all: makefiles + cd src; $(MAKE) all +Makefile: configure autoconf/Makefile.in + @echo "Makefile is older than the configure script". + @echo "Please re-run the configure script." + @exit 1 +src/Makefile: configure src/Makefile.in src/config.hin + @echo "src/Makefile is older than its dependencies". + @echo "Please re-run the configure script." + @exit 1 +makefiles: Makefile src/Makefile +clean: + /bin/rm -f *~ + cd src; $(MAKE) clean +# +distclean: + /bin/rm -f *~ Makefile config.status config.log config.cache files.pck + cd src; $(MAKE) distclean +# +install: all + cd src; $(MAKE) install +# + +# The symlinks target is for my own private use. It simply creates the object +# directory as a symbolic link to a local disk instead of an NFS mounted one. +symlinks: + cd src; $(MAKE) symlinks +configure: autoconf/aclocal.m4 autoconf/configure.ac + cd autoconf && autoconf && mv ./configure .. +update: autoconf/config.sub autoconf/config.guess +autoconf/config.guess: /usr/share/misc/config.guess + /bin/cp -f /usr/share/misc/config.guess autoconf/config.guess +autoconf/config.sub: /usr/share/misc/config.sub + /bin/cp -f /usr/share/misc/config.sub autoconf/config.sub + +.PHONY: all clean distclean install symlinks update makefiles diff --git a/vendor/most-5.1.0/autoconf/aclocal.m4 b/vendor/most-5.1.0/autoconf/aclocal.m4 new file mode 100644 index 0000000..2b5c447 --- /dev/null +++ b/vendor/most-5.1.0/autoconf/aclocal.m4 @@ -0,0 +1,1096 @@ +dnl# -*- mode: sh; mode: fold -*- +dnl# 0.3.3-1: Use INSTALL instead of INSTALL_DATA to install modules to get executable permissions +dnl# 0.3.3-0: Added $(OBJ_O_DEPS) and $(ELF_O_DEPS) to PROGRAM_OBJECT_RULES +dnl# 0.3.2-0: Add rpath support for freebsd +dnl# 0.3.1-0: New output variable: CC_SHARED_FLAGS; CC_SHARED is deprecated +dnl# 0.3.0-0: Added support for parsing /etc/ld.so.conf +dnl# 0.2.7-3: Change ncurses5w-config to ncursesw5-config (Gilles Espinasse) +dnl# 0.2.7-2: For the Makefile rules, use cd foo && bar instead of cd foo; bar +dnl# 0.2.7-1: Use "$ARCH"elfobjs instead of elf"$ARCH"objs for better flexibility +dnl# 0.2.7-0: Instead of expanding $ARCH at configure time, use \$ARCH for compile-time expansion +dnl# 0.2.6-2: Missing hyphen for cygwin ELFLIB_MAJOR (Marco Atzeri) +dnl# 0.2.6-1: Added optional second and third arguments to AC_DEFINE (Marco Atzeri) +dnl# 0.2.6-0: On cygwin, change libfooX_Y_Z.dll to cygfoo-X_Y_Z.dll (Marco Atzeri) +dnl# 0.2.5-3: Changed AC_DEFUN(foo...) to AC_DEFUN([foo]...) +dnl# 0.2.5-2: JD_CHECK_FOR_LIBRARY will alse output *_INC_DIR and *_LIB_DIR +dnl# 0.2.5-1: Updated using autoupdate +dnl# 0.2.5-0: M_LIB output variable created for haiku support (Scott McCreary) +dnl# 0.2.4-0: Added optional 3rd argument to JD_WITH_LIBRARY for a default path +dnl# 0.2.3-2: X was missing in a "test" statement (Joerg Sommer) +dnl# 0.2.3-1: AC_AIX needs to be called before running the compiler (Miroslav Lichvar) +dnl# 0.2.3: rewrote JD_CHECK_FOR_LIBRARY to loop over include/lib pairs +dnl# 0.2.2-1: JD_WITH_LIBRARY bug-fix +dnl# 0.2.2: Use ncurses5-config to search for terminfo dirs. +dnl# 0.2.1: Add .dll.a to list of extensions to when searching for libs (cygwin) +dnl# 0.2.0: Added install target name and more fixes for cygwin +dnl# 0.1.12: Improved support for cygwin +dnl# 0.1.11: Fixed elf linking on freebsd (Renato Botelho (garga at freebsd, org) +dnl# Version 0.1.10: rpath support for netbsd +dnl# Version 0.1.9: When searching for libs, use dylib on darwin +dnl# Version 0.1.8: Add rpath support for OpenBSD +dnl# Version 0.1.7: removed "-K pic" from IRIX compiler lines +dnl# Version 0.1.6: Added cygwin module support +dnl# Version 0.1.5: Added gcc version-script support. + +AC_DEFUN([JD_INIT], dnl#{{{ +[ +#These variable are initialized by JD init function +CONFIG_DIR=`pwd` +cd $srcdir +if test "`pwd`" != "$CONFIG_DIR" +then + AC_MSG_ERROR("This software does not support configuring from another directory. See the INSTALL file") +fi +dnl# if test "X$PWD" != "X" +dnl# then +dnl# CONFIG_DIR="$PWD" +dnl# fi +AC_SUBST(CONFIG_DIR)dnl +# Note: these will differ if one is a symbolic link +if test -f /usr/bin/dirname; then + JD_Above_Dir=`dirname $CONFIG_DIR` +else +# system is a loser + JD_Above_Dir=`cd ..;pwd` +fi +JD_Above_Dir2=`cd ..;pwd` +]) +dnl#}}} + +dnl# This function expand the "prefix variables. For example, it will expand +dnl# values such as ${exec_prefix}/foo when ${exec_prefix} itself has a +dnl# of ${prefix}. This function produces the shell variables: +dnl# jd_prefix_libdir, jd_prefix_incdir +AC_DEFUN([JD_EXPAND_PREFIX], dnl#{{{ +[ + if test "X$jd_prefix" = "X" + then + jd_prefix=$ac_default_prefix + if test "X$prefix" != "XNONE" + then + jd_prefix="$prefix" + fi + jd_exec_prefix="$jd_prefix" + if test "X$exec_prefix" != "XNONE" + then + jd_exec_prefix="$exec_prefix" + fi + + dnl#Unfortunately, exec_prefix may have a value like ${prefix}, etc. + dnl#Let the shell expand those. Yuk. + eval `sh <>)dnl +define(<<$2>>, translit($1, [a-z], [A-Z]))dnl +changequote([, ])dnl +]) +#}}} + +AC_DEFUN([JD_SIMPLE_LIB_DIR], dnl#{{{ +[ +JD_UPPERCASE($1,JD_UP_NAME) +JD_UP_NAME[]_LIB_DIR=$JD_Above_Dir/$1/libsrc/"$ARCH"objs +JD_UP_NAME[]_INCLUDE=$JD_Above_Dir/$1/libsrc + +if test ! -d "[$]JD_UP_NAME[]_INCLUDE" +then + JD_UP_NAME[]_LIB_DIR=$JD_Above_Dir/$1/src/"$ARCH"objs + JD_UP_NAME[]_INCLUDE=$JD_Above_Dir/$1/src + if test ! -d "[$]JD_UP_NAME[]_INCLUDE" + then + echo "" + echo WARNING------Unable to find the JD_UP_NAME directory + echo You may have to edit $CONFIG_DIR/src/Makefile. + echo "" + fi +fi + +AC_SUBST(JD_UP_NAME[]_LIB_DIR)dnl +AC_SUBST(JD_UP_NAME[]_INCLUDE)dnl +undefine([JD_UP_NAME])dnl +]) + +dnl#}}} + +AC_DEFUN([JD_FIND_GENERIC], dnl#{{{ +[ + AC_REQUIRE([JD_EXPAND_PREFIX])dnl + + changequote(<<, >>)dnl + define(<>, translit($1, [a-z], [A-Z]))dnl + changequote([, ])dnl +# Look for the JD_UP_NAME package +#JD_UP_NAME[]_INCLUDE="" +#JD_UP_NAME[]_LIB_DIR="" + +# This list consists of "include,lib include,lib ..." +JD_Search_Dirs="$JD_Above_Dir2/$1/libsrc,$JD_Above_Dir2/$1/libsrc/"$ARCH"objs \ + $JD_Above_Dir/$1/libsrc,$JD_Above_Dir/$1/libsrc/"$ARCH"objs \ + $JD_Above_Dir2/$1/src,$JD_Above_Dir2/$1/src/"$ARCH"objs \ + $JD_Above_Dir/$1/src,$JD_Above_Dir/$1/src/"$ARCH"objs" + +JD_Search_Dirs="$JD_Search_Dirs \ + $jd_prefix_incdir,$jd_prefix_libdir \ + $HOME/include,$HOME/lib" + +if test -n "$ARCH" +then + JD_Search_Dirs="$JD_Search_Dirs $HOME/include,$HOME/$ARCH/lib" + JD_Search_Dirs="$JD_Search_Dirs $HOME/include,$HOME/sys/$ARCH/lib" +fi + +# Now add the standard system includes. The reason for doing this is that +# the other directories may have a better chance of containing a more recent +# version. + +JD_Search_Dirs="$JD_Search_Dirs \ + /usr/local/include,/usr/local/lib \ + /usr/include,/usr/lib \ + /usr/include/$1,/usr/lib \ + /usr/include/$1,/usr/lib/$1" + +echo looking for the JD_UP_NAME library + +for include_and_lib in $JD_Search_Dirs +do + # Yuk. Is there a better way to set these variables?? + generic_include=`echo $include_and_lib | tr ',' ' ' | awk '{print [$]1}'` + generic_lib=`echo $include_and_lib | tr ',' ' ' | awk '{print [$]2}'` + echo Looking for $1.h in $generic_include + echo and lib$1.a in $generic_lib + if test -r $generic_include/$1.h && test -r $generic_lib/lib$1.a + then + echo Found it. + JD_UP_NAME[]_LIB_DIR="$generic_lib" + JD_UP_NAME[]_INCLUDE="$generic_include" + break + else + if test -r $generic_include/$1.h && test -r $generic_lib/lib$1.so + then + echo Found it. + JD_UP_NAME[]_LIB_DIR="$generic_lib" + JD_UP_NAME[]_INCLUDE="$generic_include" + break + fi + fi +done + +if test -n "[$]JD_UP_NAME[]_LIB_DIR" +then + jd_have_$1="yes" +else + echo Unable to find the $JD_UP_NAME library. + echo You may have to edit $CONFIG_DIR/src/Makefile. + JD_UP_NAME[]_INCLUDE=$JD_Above_Dir/$1/src + JD_UP_NAME[]_LIB_DIR=$JD_Above_Dir/$1/src/"$ARCH"objs + jd_have_$1="no" +fi + +JD_UP_NAME[]_INC="-I[$]JD_UP_NAME[]_INCLUDE" +JD_UP_NAME[]_LIB="-L[$]JD_UP_NAME[]_LIB_DIR" +JD_SET_RPATH([$]JD_UP_NAME[]_LIB_DIR) +dnl# if test "X$GCC" = Xyes +dnl# then +dnl# RPATH_[]JD_UP_NAME="-Wl,-R[$]JD_UP_NAME[]_LIB_DIR" +dnl# else +dnl# RPATH_[]JD_UP_NAME="-R[$]JD_UP_NAME[]_LIB_DIR" +dnl# fi + +# gcc under solaris is often not installed correctly. Avoid specifying +# -I/usr/include. +if test "[$]JD_UP_NAME[]_INC" = "-I/usr/include" +then + JD_UP_NAME[]_INC="" +fi + +if test "[$]JD_UP_NAME[]_LIB" = "-L/usr/lib" +then + JD_UP_NAME[]_LIB="" + RPATH_[]JD_UP_NAME="" +fi + +AC_SUBST(JD_UP_NAME[]_LIB)dnl +AC_SUBST(JD_UP_NAME[]_INC)dnl +AC_SUBST(JD_UP_NAME[]_LIB_DIR)dnl +AC_SUBST(JD_UP_NAME[]_INCLUDE)dnl +dnl# AC_SUBST(RPATH_[]JD_UP_NAME)dnl +undefine([JD_UP_NAME])dnl +]) + +dnl#}}} + +AC_DEFUN([JD_FIND_SLANG], dnl#{{{ +[ +JD_FIND_GENERIC(slang) +]) + +dnl#}}} + +AC_DEFUN([JD_GCC_WARNINGS], dnl#{{{ +[ +AC_ARG_ENABLE(warnings, + AC_HELP_STRING([--enable-warnings],[turn on GCC compiler warnings]), + [gcc_warnings=$enableval]) +if test -n "$GCC" +then + #CFLAGS="$CFLAGS -fno-strength-reduce" + if test -n "$gcc_warnings" + then + CFLAGS="$CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ + -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes \ + -Wformat=2" + # Now trim excess whitespace + CFLAGS=`echo $CFLAGS` + fi +fi +]) + +dnl#}}} + +IEEE_CFLAGS="" +AC_DEFUN([JD_IEEE_CFLAGS], dnl#{{{ +[ +case "$host_cpu" in + *alpha* ) + if test "$GCC" = yes + then + IEEE_CFLAGS="-mieee" + else + IEEE_CFLAGS="-ieee_with_no_inexact" + fi + ;; + * ) + IEEE_CFLAGS="" +esac +]) + +dnl#}}} + +AC_DEFUN([JD_CREATE_ORULE], dnl#{{{ +[ +PROGRAM_OBJECT_RULES="$PROGRAM_OBJECT_RULES +\$(OBJDIR)/$1.o : \$(SRCDIR)/$1.c \$(DOT_O_DEPS) \$(OBJ_O_DEPS) \$("$1"_O_DEP) + cd \$(OBJDIR) && \$(COMPILE_CMD) \$("$1"_C_FLAGS) \$(SRCDIR)/$1.c +" +]) + +dnl#}}} + +AC_DEFUN([JD_CREATE_ELFORULE], dnl#{{{ +[ +PROGRAM_ELF_ORULES="$PROGRAM_ELF_ORULES +\$(ELFDIR)/$1.o : \$(SRCDIR)/$1.c \$(DOT_O_DEPS) \$(ELF_O_DEPS) \$("$1"_O_DEP) + cd \$(ELFDIR) && \$(ELFCOMPILE_CMD) \$("$1"_C_FLAGS) \$(SRCDIR)/$1.c +" +]) + +dnl#}}} + +AC_DEFUN([JD_CREATE_EXEC_RULE], dnl#{{{ +[ +PROGRAM_OBJECT_RULES="$PROGRAM_OBJECT_RULES +$1 : \$(OBJDIR)/$1 + @echo $1 created in \$(OBJDIR) +\$(OBJDIR)/$1 : \$(OBJDIR)/$1.o \$("$1"_DEPS) \$(EXECDEPS) + \$(CC) -o \$(OBJDIR)/$1 \$(LDFLAGS) \$(OBJDIR)/$1.o \$("$1"_LIBS) \$(EXECLIBS) +\$(OBJDIR)/$1.o : \$(SRCDIR)/$1.c \$(DOT_O_DEPS) \$("$1"_O_DEP) + cd \$(OBJDIR) && \$(COMPILE_CMD) \$("$1"_INC) \$(EXECINC) \$(SRCDIR)/$1.c +" +]) + +dnl#}}} + +AC_DEFUN([JD_CREATE_MODULE_ORULES], dnl#{{{ +[ + for program_module in $Program_Modules; do + JD_CREATE_ORULE($program_module) + JD_CREATE_ELFORULE($program_module) + done +]) + +dnl#}}} + +AC_DEFUN([JD_GET_MODULES], dnl#{{{ +[ + PROGRAM_HFILES="" + PROGRAM_OFILES="" + PROGRAM_CFILES="" + PROGRAM_OBJECTS="" + PROGRAM_ELFOBJECTS="" + PROGRAM_OBJECT_RULES="" + PROGRAM_ELF_ORULES="" + if test -z "$1" + then + Program_Modules="" + else + comment_re="^#" + Program_Modules=`grep -v '$comment_re' $1 | awk '{print [$]1}'` + Program_H_Modules=`grep -v '$comment_re' $1 | awk '{print [$]2}'` + for program_module in $Program_H_Modules; do + PROGRAM_HFILES="$PROGRAM_HFILES $program_module" + done + fi + for program_module in $Program_Modules; do + PROGRAM_OFILES="$PROGRAM_OFILES $program_module.o" + PROGRAM_CFILES="$PROGRAM_CFILES $program_module.c" + PROGRAM_OBJECTS="$PROGRAM_OBJECTS \$(OBJDIR)/$program_module.o" + PROGRAM_ELFOBJECTS="$PROGRAM_ELFOBJECTS \$(ELFDIR)/$program_module.o" + done +dnl echo $PROGRAM_OFILES +dnl echo $PROGRAM_HFILES +AC_SUBST(PROGRAM_OFILES)dnl +AC_SUBST(PROGRAM_CFILES)dnl +AC_SUBST(PROGRAM_HFILES)dnl +AC_SUBST(PROGRAM_OBJECTS)dnl +AC_SUBST(PROGRAM_ELFOBJECTS)dnl +]) + +dnl#}}} + +AC_DEFUN([JD_APPEND_RULES], dnl#{{{ +[ + echo "$PROGRAM_OBJECT_RULES" >> $1 +]) + +dnl#}}} + +AC_DEFUN([JD_APPEND_ELFRULES], dnl#{{{ +[ + echo "$PROGRAM_ELF_ORULES" >> $1 +]) + +dnl#}}} + +AC_DEFUN([JD_CREATE_MODULE_EXEC_RULES], dnl#{{{ +[ + for program_module in $Program_Modules; do + JD_CREATE_EXEC_RULE($program_module) + done +]) + +dnl#}}} + +AC_DEFUN([JD_TERMCAP], dnl#{{{ +[ +AC_PATH_PROG(nc5config, ncurses5-config, no) +if test "$nc5config" = "no" +then + AC_PATH_PROG(nc5config, ncursesw5-config, no) +fi +AC_MSG_CHECKING(for terminfo) +if test "$nc5config" != "no" +then + MISC_TERMINFO_DIRS=`$nc5config --terminfo` +else + MISC_TERMINFO_DIRS="" +fi +JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \ + /usr/lib/terminfo \ + /usr/share/terminfo \ + /usr/share/lib/terminfo \ + /usr/local/lib/terminfo" +TERMCAP=-ltermcap + +for terminfo_dir in $JD_Terminfo_Dirs +do + if test -d $terminfo_dir + then + AC_MSG_RESULT(yes) + TERMCAP="" + break + fi +done +if test "$TERMCAP"; then + AC_MSG_RESULT(no) + AC_DEFINE(USE_TERMCAP,1,[Define to use termcap]) +fi +AC_SUBST(TERMCAP)dnl +AC_SUBST(MISC_TERMINFO_DIRS)dnl +]) + +dnl#}}} + +AC_DEFUN([JD_ANSI_CC], dnl#{{{ +[ +AC_AIX +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_CPP]) +AC_REQUIRE([AC_PROG_GCC_TRADITIONAL]) +AC_ISC_POSIX + +dnl #This stuff came from Yorick config script +dnl +dnl # HPUX needs special stuff +dnl +AC_EGREP_CPP(yes, +[#ifdef hpux + yes +#endif +], [ +AC_DEFINE(_HPUX_SOURCE,1,[Special define needed for HPUX]) +if test "$CC" = cc; then CC="cc -Ae"; fi +])dnl +dnl +dnl #Be sure we've found compiler that understands prototypes +dnl +AC_MSG_CHECKING(C compiler that understands ANSI prototypes) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[ + extern int silly (int);]])],[ + AC_MSG_RESULT($CC looks ok. Good.)],[ + AC_MSG_RESULT($CC is not a good enough compiler) + AC_MSG_ERROR(Set env variable CC to your ANSI compiler and rerun configure.) + ])dnl +])dnl + +dnl#}}} + +AC_DEFUN([JD_ELF_COMPILER], dnl#{{{ +[ +dnl #------------------------------------------------------------------------- +dnl # Check for dynamic linker +dnl #------------------------------------------------------------------------- +DYNAMIC_LINK_LIB="" + +dnl# AH_TEMPLATE([HAVE_DLOPEN],1,[Define if you have dlopen]) + +AC_CHECK_HEADER(dlfcn.h,[ + AC_DEFINE(HAVE_DLFCN_H,1,[Define if you have the dlfcn.h header]) + AC_CHECK_LIB(dl,dlopen,[ + DYNAMIC_LINK_LIB="-ldl" + AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen]) + ],[ + AC_CHECK_FUNC(dlopen,AC_DEFINE(HAVE_DLOPEN,[Define if you have dlopen])) + if test "$ac_cv_func_dlopen" != yes + then + AC_MSG_WARN(cannot perform dynamic linking) + fi + ])]) +AC_SUBST(DYNAMIC_LINK_LIB) + +if test "$GCC" = yes +then + if test X"$CFLAGS" = X + then + CFLAGS="-O2" + fi +fi + +dnl #Some defaults +ELFLIB="lib\$(THIS_LIB).so" +ELFLIB_MAJOR="\$(ELFLIB).\$(ELF_MAJOR_VERSION)" +ELFLIB_MAJOR_MINOR="\$(ELFLIB_MAJOR).\$(ELF_MINOR_VERSION)" +ELFLIB_MAJOR_MINOR_MICRO="\$(ELFLIB_MAJOR_MINOR).\$(ELF_MICRO_VERSION)" + +dnl# This specifies the target to use in the makefile to install the shared library +INSTALL_ELFLIB_TARGET="install-elf-and-links" +ELFLIB_BUILD_NAME="\$(ELFLIB_MAJOR_MINOR_MICRO)" +INSTALL_MODULE="\$(INSTALL)" +SLANG_DLL_CFLAGS="" +M_LIB="-lm" + +case "$host_os" in + *linux*|*gnu*|k*bsd*-gnu ) + DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + *solaris* ) + if test "$GCC" = yes + then + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-ztext -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-G -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -K PIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -G -h\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-G -K PIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + # osr5 or unixware7 with current or late autoconf + *sco3.2v5* | *unixware-5* | *sco-sysv5uw7*) + if test "$GCC" = yes + then + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-G -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -K pic" + # ELF_LINK="ld -G -z text -h#" + ELF_LINK="\$(CC) \$(LDFLAGS) -G -z text -h\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-G -K pic" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + *irix6.5* ) + echo "Note: ELF compiler for host_os=$host_os may not be correct" + echo "double-check: 'mode_t', 'pid_t' may be wrong!" + if test "$GCC" = yes + then + # not tested + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS)" # default anyhow + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -o \$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-shared" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + *darwin* ) + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fno-common" + ELF_LINK="\$(CC) \$(LDFLAGS) -dynamiclib -install_name \$(install_lib_dir)/\$(ELFLIB_MAJOR) -compatibility_version \$(ELF_MAJOR_VERSION) -current_version \$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION)" + ELF_DEP_LIBS="\$(LDFLAGS) \$(DL_LIB)" + CC_SHARED_FLAGS="-bundle -flat_namespace -undefined suppress -fno-common" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ELFLIB="lib\$(THIS_LIB).dylib" + ELFLIB_MAJOR="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).dylib" + ELFLIB_MAJOR_MINOR="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION).dylib" + ELFLIB_MAJOR_MINOR_MICRO="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION).\$(ELF_MICRO_VERSION).dylib" + ;; + *freebsd* ) + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + #if test "X$PORTOBJFORMAT" = "Xelf" ; then + # ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-soname,\$(ELFLIB_MAJOR)" + #else + # ELF_LINK="ld -Bshareable -x" + #fi + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + *cygwin* ) + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + SLANG_DLL_CFLAGS="-DSLANG_DLL=1" + ELF_CFLAGS="\$(CFLAGS) -DBUILD_DLL=1" + DLL_IMPLIB_NAME="lib\$(THIS_LIB)\$(ELFLIB_MAJOR_VERSION).dll.a" + #ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR) -Wl,--out-implib=\$(DLL_IMPLIB_NAME) -Wl,-export-all-symbols -Wl,-enable-auto-import" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR) -Wl,--out-implib=\$(DLL_IMPLIB_NAME)" + ELF_DEP_LIBS="\$(DL_LIB) -lm" + CC_SHARED_FLAGS="-shared -DSLANG_DLL=1" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + dnl# CYGWIN prohibits undefined symbols when linking shared libs + SLANG_LIB_FOR_MODULES="-L\$(ELFDIR) -lslang" + INSTALL_MODULE="\$(INSTALL)" + INSTALL_ELFLIB_TARGET="install-elf-cygwin" + ELFLIB="lib\$(THIS_LIB).dll" + ELFLIB_MAJOR="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION).dll" + ELFLIB_MAJOR_MINOR="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION)_\$(ELF_MINOR_VERSION).dll" + ELFLIB_MAJOR_MINOR_MICRO="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION)_\$(ELF_MINOR_VERSION)_\$(ELF_MICRO_VERSION).dll" + ELFLIB_BUILD_NAME="\$(ELFLIB_MAJOR)" + ;; + *haiku* ) + M_LIB="" + DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB)" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + * ) + echo "Note: ELF compiler for host_os=$host_os may be wrong" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" +esac + +AC_SUBST(ELF_CC) +AC_SUBST(ELF_CFLAGS) +AC_SUBST(ELF_LINK) +AC_SUBST(ELF_LINK_CMD) +AC_SUBST(ELF_DEP_LIBS) +AC_SUBST(DYNAMIC_LINK_FLAGS) +AC_SUBST(CC_SHARED_FLAGS) +AC_SUBST(CC_SHARED) +AC_SUBST(ELFLIB) +AC_SUBST(ELFLIB_MAJOR) +AC_SUBST(ELFLIB_MAJOR_MINOR) +AC_SUBST(ELFLIB_MAJOR_MINOR_MICRO) +AC_SUBST(SLANG_LIB_FOR_MODULES) +AC_SUBST(DLL_IMPLIB_NAME) +AC_SUBST(INSTALL_MODULE) +AC_SUBST(INSTALL_ELFLIB_TARGET) +AC_SUBST(ELFLIB_BUILD_NAME) +AC_SUBST(SLANG_DLL_CFLAGS) +AC_SUBST(M_LIB) +]) + +dnl#}}} + +AC_DEFUN([JD_F77_COMPILER], dnl#{{{ +[ +case "$host_os" in + *linux* ) + F77="g77" + F77_LIBS="-lg2c" + ;; + *solaris*) + F77=f77 + #F77_LIBS="-lF77 -lM77 -L/opt/SUNWspro/SC4.0/lib -lsunmath" + F77_LIBS="-lF77 -lM77 -lsunmath" + ;; + *) + echo "" + echo "WARNING: Assuming f77 as your FORTRAN compiler" + echo "" + F77=f77 + F77_LIBS="" +esac +AC_SUBST(F77) +AC_SUBST(F77_LIBS) +]) + +dnl#}}} + +dnl# This macro process the --with-xxx, --with-xxxinc, and --with-xxxlib +dnl# command line arguments and returns the values as shell variables +dnl# jd_xxx_include_dir and jd_xxx_library_dir. It does not perform any +dnl# substitutions, nor check for the existence of the supplied values. +AC_DEFUN([JD_WITH_LIBRARY_PATHS], dnl#{{{ +[ + JD_UPPERCASE($1,JD_ARG1) + jd_$1_include_dir="" + jd_$1_library_dir="" + if test X"$jd_with_$1_library" = X + then + jd_with_$1_library="" + fi + + AC_ARG_WITH($1, + [ --with-$1=DIR Use DIR/lib and DIR/include for $1], + [jd_with_$1_arg=$withval], [jd_with_$1_arg=unspecified]) + + case "x$jd_with_$1_arg" in + xno) + jd_with_$1_library="no" + ;; + x) + dnl# AC_MSG_ERROR(--with-$1 requires a value-- try yes or no) + jd_with_$1_library="yes" + ;; + xunspecified) + ;; + xyes) + jd_with_$1_library="yes" + ;; + *) + jd_with_$1_library="yes" + jd_$1_include_dir="$jd_with_$1_arg"/include + jd_$1_library_dir="$jd_with_$1_arg"/lib + ;; + esac + + AC_ARG_WITH($1lib, + [ --with-$1lib=DIR $1 library in DIR], + [jd_with_$1lib_arg=$withval], [jd_with_$1lib_arg=unspecified]) + case "x$jd_with_$1lib_arg" in + xunspecified) + ;; + xno) + ;; + x) + AC_MSG_ERROR(--with-$1lib requres a value) + ;; + *) + jd_with_$1_library="yes" + jd_$1_library_dir="$jd_with_$1lib_arg" + ;; + esac + + AC_ARG_WITH($1inc, + [ --with-$1inc=DIR $1 include files in DIR], + [jd_with_$1inc_arg=$withval], [jd_with_$1inc_arg=unspecified]) + case "x$jd_with_$1inc_arg" in + x) + AC_MSG_ERROR(--with-$1inc requres a value) + ;; + xunspecified) + ;; + xno) + ;; + *) + jd_with_$1_library="yes" + jd_$1_include_dir="$jd_with_$1inc_arg" + ;; + esac +]) +dnl#}}} + +dnl# This function checks for the existence of the specified library $1 with +dnl# header file $2. If the library exists, then the shell variables will +dnl# be created: +dnl# jd_with_$1_library=yes/no, +dnl# jd_$1_inc_file +dnl# jd_$1_include_dir +dnl# jd_$1_library_dir +dnl# If $3 is present, then also look in $3/include+$3/lib +AC_DEFUN([JD_CHECK_FOR_LIBRARY], dnl#{{{ +[ + AC_REQUIRE([JD_EXPAND_PREFIX])dnl + AC_REQUIRE([JD_GET_SYS_INCLIBS])dnl + dnl JD_UPPERCASE($1,JD_ARG1) + JD_WITH_LIBRARY_PATHS($1) + AC_MSG_CHECKING(for the $1 library and header files $2) + if test X"$jd_with_$1_library" != Xno + then + jd_$1_inc_file=$2 + dnl# jd_with_$1_library="yes" + + if test "X$jd_$1_inc_file" = "X" + then + jd_$1_inc_file=$1.h + fi + + if test X"$jd_$1_include_dir" = X + then + inc_and_lib_dirs="\ + $jd_prefix_incdir,$jd_prefix_libdir \ + /usr/local/$1/include,/usr/local/$1/lib \ + /usr/local/include/$1,/usr/local/lib \ + /usr/local/include,/usr/local/lib \ + $JD_SYS_INCLIBS \ + /usr/include/$1,/usr/lib \ + /usr/$1/include,/usr/$1/lib \ + /usr/include,/usr/lib \ + /opt/include/$1,/opt/lib \ + /opt/$1/include,/opt/$1/lib \ + /opt/include,/opt/lib" + + if test X$3 != X + then + inc_and_lib_dirs="$3/include,$3/lib $inc_and_lib_dirs" + fi + + case "$host_os" in + *darwin* ) + exts="dylib so a" + ;; + *cygwin* ) + exts="dll.a so a" + ;; + * ) + exts="so a" + esac + + xincfile="$jd_$1_inc_file" + xlibfile="lib$1" + jd_with_$1_library="no" + + for include_and_lib in $inc_and_lib_dirs + do + # Yuk. Is there a better way to set these variables?? + xincdir=`echo $include_and_lib | tr ',' ' ' | awk '{print [$]1}'` + xlibdir=`echo $include_and_lib | tr ',' ' ' | awk '{print [$]2}'` + found=0 + if test -r $xincdir/$xincfile + then + for E in $exts + do + if test -r "$xlibdir/$xlibfile.$E" + then + jd_$1_include_dir="$xincdir" + jd_$1_library_dir="$xlibdir" + jd_with_$1_library="yes" + found=1 + break + fi + done + fi + if test $found -eq 1 + then + break + fi + done + fi + fi + + if test X"$jd_$1_include_dir" != X -a X"$jd_$1_library_dir" != X + then + AC_MSG_RESULT(yes: $jd_$1_library_dir and $jd_$1_include_dir) + jd_with_$1_library="yes" + dnl# Avoid using /usr/lib and /usr/include because of problems with + dnl# gcc on some solaris systems. + JD_ARG1[]_LIB=-L$jd_$1_library_dir + JD_ARG1[]_LIB_DIR=$jd_$1_library_dir + if test "X$jd_$1_library_dir" = "X/usr/lib" -o "X$jd_$1_include_dir" = "X/usr/include" + then + JD_ARG1[]_LIB="" + else + JD_SET_RPATH($jd_$1_library_dir) + fi + + JD_ARG1[]_INC=-I$jd_$1_include_dir + JD_ARG1[]_INC_DIR=$jd_$1_include_dir + if test "X$jd_$1_include_dir" = "X/usr/include" + then + JD_ARG1[]_INC="" + fi + else + AC_MSG_RESULT(no) + jd_with_$1_library="no" + JD_ARG1[]_INC="" + JD_ARG1[]_LIB="" + JD_ARG1[]_INC_DIR="" + JD_ARG1[]_LIB_DIR="" + fi + AC_SUBST(JD_ARG1[]_LIB) + AC_SUBST(JD_ARG1[]_INC) + AC_SUBST(JD_ARG1[]_LIB_DIR) + AC_SUBST(JD_ARG1[]_INC_DIR) +]) +dnl#}}} + +AC_DEFUN([JD_WITH_LIBRARY], dnl#{{{ +[ + JD_CHECK_FOR_LIBRARY($1, $2, $3) + if test "$jd_with_$1_library" = "no" + then + AC_MSG_ERROR(unable to find the $1 library and header file $jd_$1_inc_file) + fi +]) +dnl#}}} + +AC_DEFUN([JD_SLANG_VERSION], dnl#{{{ +[ + slang_h=$jd_slang_include_dir/slang.h + AC_MSG_CHECKING(SLANG_VERSION in $slang_h) +slang_version=`grep "^#define *SLANG_VERSION " $slang_h | + awk '{ print [$]3 }'` +slang_major_version=`echo $slang_version | + awk '{ print int([$]1/10000) }'` +slang_minor_version=`echo $slang_version $slang_major_version | + awk '{ print int(([$]1 - [$]2*10000)/100) }'` +slang_patchlevel_version=`echo $slang_version $slang_major_version $slang_minor_version | + awk '{ print ([$]1 - [$]2*10000 - [$]3*100) }'` + +AC_MSG_RESULT($slang_major_version.$slang_minor_version.$slang_patchlevel_version) +AC_SUBST(slang_version) +AC_SUBST(slang_major_version) +AC_SUBST(slang_minor_version) +AC_SUBST(slang_patchlevel_version) +]) +#}}} + +AC_DEFUN([JD_SLANG_MODULE_INSTALL_DIR], dnl#{{{ +[ + AC_REQUIRE([JD_SLANG_VERSION]) + if test "X$slang_major_version" = "X1" + then + MODULE_INSTALL_DIR="$libdir/slang/modules" + else + MODULE_INSTALL_DIR="$libdir/slang/v$slang_major_version/modules" + fi + SL_FILES_INSTALL_DIR=$datadir/slsh/local-packages + AC_SUBST(MODULE_INSTALL_DIR) + AC_SUBST(SL_FILES_INSTALL_DIR) +]) +#}}} + +AC_DEFUN([JD_CHECK_LONG_LONG], dnl#{{{ +[ + AC_CHECK_TYPES(long long) + AC_CHECK_SIZEOF(long long) +]) +dnl#}}} + +AC_DEFUN([JD_LARGE_FILE_SUPPORTXXX], dnl#{{{ +[ + AC_REQUIRE([JD_CHECK_LONG_LONG]) + AC_MSG_CHECKING(whether to explicitly activate long file support) + AC_DEFINE(_LARGEFILE_SOURCE, 1) + AC_DEFINE(_FILE_OFFSET_BITS, 64) + jd_large_file_support=no + if test X$ac_cv_type_long_long = Xyes + then + if test $ac_cv_sizeof_long_long -ge 8 + then + jd_large_file_support=yes + fi + fi + + if test $jd_large_file_support = yes + then + AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1) + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi +]) +dnl#}}} + +AC_DEFUN([JD_LARGE_FILE_SUPPORT], dnl#{{{ +[ + AC_SYS_LARGEFILE + AC_FUNC_FSEEKO + AC_TYPE_OFF_T + AC_CHECK_SIZEOF(off_t) +]) +#}}} + +AC_DEFUN([JD_HAVE_ISINF], dnl#{{{ +[ + AC_MSG_CHECKING([for isinf]) + AC_LINK_IFELSE([AC_LANG_PROGRAM( [[#include ]], [[isinf (0.0);]])], + [AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_ISINF, 1)]) +]) +#}}} diff --git a/vendor/most-5.1.0/autoconf/config.guess b/vendor/most-5.1.0/autoconf/config.guess new file mode 100755 index 0000000..d622a44 --- /dev/null +++ b/vendor/most-5.1.0/autoconf/config.guess @@ -0,0 +1,1530 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +timestamp='2012-02-10' + +# This file 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, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +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` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/vendor/most-5.1.0/autoconf/config.sub b/vendor/most-5.1.0/autoconf/config.sub new file mode 100755 index 0000000..6205f84 --- /dev/null +++ b/vendor/most-5.1.0/autoconf/config.sub @@ -0,0 +1,1782 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +timestamp='2012-04-18' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file 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, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i386-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/vendor/most-5.1.0/autoconf/configure.ac b/vendor/most-5.1.0/autoconf/configure.ac new file mode 100644 index 0000000..cf099ca --- /dev/null +++ b/vendor/most-5.1.0/autoconf/configure.ac @@ -0,0 +1,76 @@ +dnl -*- sh -*- +AC_INIT(src/most.c) +JD_INIT +JD_ANSI_CC + +AC_CONFIG_AUX_DIR(autoconf) +AC_PROG_MAKE_SET +AC_PROG_INSTALL +AC_CANONICAL_HOST + +JD_ELF_COMPILER + +# determine X include and needed libs +AC_PATH_XTRA + +# Implementation of the --disable-dev-random switch. +AC_MSG_CHECKING([if you want to use mmap if available]) +AC_ARG_ENABLE(mmap, + AC_HELP_STRING([--disable-mmap],[disable the use of mmap]), + jd_use_mmap=$enableval, jd_use_mmap=yes) +AC_MSG_RESULT($jd_use_mmap) +case "x$jd_use_mmap" in +xyes ) + AC_DEFINE(USE_MMAP) + ;; +esac + +#Check these header since they cause trouble +AC_CHECK_HEADERS( \ +stdlib.h \ +unistd.h \ +memory.h \ +malloc.h \ +termios.h \ +sys/mman.h \ +) + +AC_HEADER_DIRENT + +AC_TYPE_MODE_T +AC_TYPE_PID_T +AC_TYPE_UID_T +AC_TYPE_SIZE_T + +AC_CHECK_SIZEOF(short, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long, 4) +AC_CHECK_SIZEOF(float, 4) +AC_CHECK_SIZEOF(double, 8) + +JD_CHECK_LONG_LONG +JD_LARGE_FILE_SUPPORT + +AC_CHECK_FUNCS(\ +memset \ +memcpy \ +putenv \ +getcwd \ +mmap \ +snprintf \ +getpgrp tcgetpgrp \ +) + +JD_SET_OBJ_SRC_DIR +JD_TERMCAP +JD_WITH_LIBRARY(slang) +JD_GCC_WARNINGS +JD_GET_MODULES(src/modules.lis) +JD_CREATE_MODULE_ORULES + +AC_CONFIG_HEADER(src/sysconf.h:src/config.hin) +AC_OUTPUT(Makefile:autoconf/Makefile.in src/Makefile) + +JD_CREATE_ORULE(chkslang) +JD_APPEND_RULES(src/Makefile) + diff --git a/vendor/most-5.1.0/autoconf/install.sh b/vendor/most-5.1.0/autoconf/install.sh new file mode 100755 index 0000000..e9de238 --- /dev/null +++ b/vendor/most-5.1.0/autoconf/install.sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/vendor/most-5.1.0/autoconf/mkinsdir.sh b/vendor/most-5.1.0/autoconf/mkinsdir.sh new file mode 100755 index 0000000..cd1fe0a --- /dev/null +++ b/vendor/most-5.1.0/autoconf/mkinsdir.sh @@ -0,0 +1,32 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d in ${1+"$@"} ; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + mkdir "$pathcomp" || errstatus=$? + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/vendor/most-5.1.0/autoconf/scripts/getsyslibs.sh b/vendor/most-5.1.0/autoconf/scripts/getsyslibs.sh new file mode 100755 index 0000000..3788e9b --- /dev/null +++ b/vendor/most-5.1.0/autoconf/scripts/getsyslibs.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +# This script parses /etc/ld.so.conf and returns lib and include directories +# in a form that JD_CHECK_FOR_LIBRARY can grok. + +SH_TRUE=0 +SH_FALSE=1 + +# Usage: sh_substr string a b ==> string[a:b] (1s-based) +sh_substr() +{ + echo "$1" | cut "-c" "$2-$3" +} + +# if sh_is_comment line; then ... +sh_is_comment() +{ + ch=`sh_substr "$1" 1 1` + if test "X$ch" = "X#" -o "X$ch" = "X" + then + return $SH_TRUE; + fi + return $SH_FALSE; +} + +sh_read_ldsoconf () +{ + file="$1" + dirlist="" + if test ! -f "$file" + then + return $SH_FALSE; + fi + + while read line + do + if sh_is_comment "$line"; then continue; fi + read p1 p2 pn << EOF + ${line} +EOF + if test "$p1" = "include" + then + for file in $p2 + do + dirs=`sh_read_ldsoconf "$file"` + dirlist="$dirlist $dirs" + done + else + dirlist="$dirlist $p1" + fi + done < "$file" + echo "$dirlist" +} + +dirs=`sh_read_ldsoconf "/etc/ld.so.conf"` +XY="" +for Y in $dirs +do + if test "/usr/lib" = `sh_substr $Y 1 8` + then + X="/usr/include" + else + if test "/lib" = `sh_substr $Y 1 4` + then + X="/usr/include" + else + X=`dirname $Y`"/include" + fi + fi + if test -d "$Y" + then + XY="$XY $X,$Y" + fi +done + +echo $XY + diff --git a/vendor/most-5.1.0/changes.txt b/vendor/most-5.1.0/changes.txt new file mode 100644 index 0000000..53aef3c --- /dev/null +++ b/vendor/most-5.1.0/changes.txt @@ -0,0 +1,201 @@ +-*- mode: text; mode: fold -*- +Changes since 5.0.0 +1. src/Makefile.in: Install docs in $prefix/share/doc +2. src/most.h,sysdep.c: win32-specific patches (Andrew Wu) +3. most.1: Typo corrected (Stephane Blondon) +4. src/line.c: removed redundant switch in the most_forward_columns + function. +5. src/buffer.c: avoid call to SLutf8_skip_char if the character is + ascii. +6. src/file.c: Added an option to most_read_file_dsc to skip the line + count and made use of it in search.c to speed up the searches a bit. +7. src/display.c: When wrapping a line, the color was not "wrapping". +8. src/line.c: When moving forward n columns, skip over trailing 0 + length color escape sequences. +9. src/buffer.c: If a color escape sequence occurs at the end of a + line line whose display width is equal to the terminal width, do + not wrap the line. +10. src/keym.c: Limit the amount of loops when going to the end of the + buffer. It is possible for a run-away process to write to a + logfile that most is viewing causing it to loop forever seeking the + end of the file, which may never come. +11. src/help.c: Change DELETE to BACKSPACE. file.c: Indicate that + chdir return value is being ignored. +12. configure,autoconf/*: Updated configure script and related files. +13. src/most.c: when acting as `cat`, a file pointer was not being + closed (George Danchev). +14. src/*.c: Removed some unused variables. +15. configure: Use /etc/ld.so.conf to located system lib paths. +16. autoconf/*: updates +17. src/line.c, buffer.c: Fixed an issue with the display of + double-width characters to address + . +18. src/*.[ch]: Updated copyright year +19. src/search.c: Rewrote the search functions from scratch. Both + ordinary and regexp searches are now supported. Use -r to startup + with regular-expression searches. +20. src/keym.c: Added support for Home/End keys (top/bottom of buffer). +21. src/line.c: Added a work-around for programs that try colorize the + output using the clear-to-end-of-line escape sequence (ESC[K) + without regard for the value of isatty(fileno(sdout)). Most will + ignore ESC[K unless invoked with -v. +22. configure: Updated to use aclocal.m4 v0.3.3-1 +23. src/Makefile.in: Added LDFLAGS to chkslang linker line (Denis Pronin) +24. *: Converted the man page source most.1 to text-macro, and + regenerated it. Updated copyrights for upcoming release. +25. Updated manifest and copyrights updated for 2019 release. + +{{{ Previous Versions +Changes since 4.10.2 +0. src/most.c: version bumped to 5.0.0-x +1. src/line.c: Added support for embedded ANSI escape sequences that + seem to be more common in man pages. +2. When switching searching directions, and no search string was + entered at the search prompt, use the previous string. +3. Added patches for UTF-8 support kindly provided by Javier Kohen. +4. src/most.c: Removed references to Kanji from the usage message. + Kanji is not supported by slang-2. Use Unicode. +5. src/file.c: Most will automatically start up in binary mode if the + file contains a nul-byte in the first 512 characters. Previously, + it would switch into binary mode when the file contained any + characters with the most significant bit set. +6. autoconf/config.sub,config.guess: Updated to more recent versions. +7. src/most.c: Add +u/-u switches to force UTF-8 on/off. The default + behavior depends upon the locale. +8. src/sysdep.c: In most_getkey, if SLang_getkey returns an error, + then just exit. +9. src/search.c: Added `#undef SLANG_REGEXP' and `#undef + HAVE_V8_REGCOMP' until the regexp searches are rewritten. +10. src/edit.c: Filenames are quoted before being passed to the shell + for editing. +11. src/file.c: Filenames are quoted before being passed to the unzip + program. +12. src/sysdep.c: Check the process group id of the terminal and + if it does not match that of most, then exit. +13. src/keym.c: Added "find_next_other_dir" function and bound it to N. +14. src/most.c: New commandline switch: "-d". This switch disables + the display of the \ character used to denote a wrapped line. +15. src/line.c: Added support for embedded ansi-color escape + sequences, e.g., `ls --color | most` +16. src/window.c: Added an error hook to prevent slang from writing to + stderr. +17. src/line.c: An ascii character+combining character was not being + handled. + +Changes since 4.10.1 +1. src/window.c:most_read_from_minibuffer: An variable was not being + initialized. (Kevin Oberman, oberman at es, net). +2. configure: mmap is enabled by default. Use the --disable-mmap + configure option of you do not want it. + +Changes since 4.10.0 +1. src/most.h: Prototype for SLang_set_error inconsistent with the + function in most.c. +2. src/most.h: If compiled against slang2 without an snprintf + function, use _pSLsnprintf. + +Changes since 4.9.5 +0. src/*.c: Various changes to support slang 2. Version bumped to + 4.10.0. UTF-8 support not yet available. +1. src/keym.c: Ignore mouse events under DOS/Windows (Gisle Vanem, + giva at bgnett, no). + +Changes since 4.9.4 +1. src/line.c: A "length" variable was declared as unsigned char + instead of unsigned int, causing a SEGV for columns larger than 255. +2. src/file.c: fixed a buffer overflow caused by a long file name on + the command line. + +Changes since 4.9.3 + +1. src/buffer.c: SLtt_Screen_Rows and SLtt_Screen_Cols were swapped + causing a file to be improperly displayed in wrap mode. Adrian P. + van Bloois (adrian at accu.uu.nlhas) has my thanks for find this bug. +2. src/most.c: when run without arguments, S-Lang library version also + printed. + +Changes since 4.9.2 + +1. src/keym.c: added support for \xE0 type arrow keys (Win9X). +2. src/file.c: When resyncing mmaped buffer, make sure to preserve the + current line number. +3. src/sysdep.c: SLang_getkey_intr_hook is unix + specific and should not be used on VMS. +4. src/file.c: Make arrow-keys for next_file_cmd work on win32 systems. +5. src/file.h: be sure to quote filename argument (Mako Hill + ) +6. src/file.c: added support for bzip2 files +7. src/*.c: replace calls to sprintf with _SLsnprintf (Steve Kemp + ). + +Changes since 4.9.1 +0. Added support for using mmap to read files. Use configure + --enable-mmap to enable this experimental feature. +1. Wrapping bug fixed. Also some optimizations were made to speed up + the display of wrapped files. +2. File default.rc renamed to most.rc. +3. A^H_ interpreted as underline. Previously, _^HA was recognized. +4. Jerome Lauret provided most.hlp, as + well as a few VMS patches. +5. src/Makefile.in: patch to make most's Makefile respect DESTDIR as + well as removing the hardcoded use of $(prefix)/etc for the + location of most's config file. +6. src/line.c: some simplifications and cleanups designed to avoid + nasty problems with extremely long lines. + +Changes since 4.9.0 +1. MOST_SWITCHES env variable can now contain extended switches. +2. If most is reading from stdin, it will reinit the terminal when it + encounters an EOF on stdin. This is to work around a problem under + linux where for some reason, some other process resets the terminal. +Changes since 4.8.1 +1. Apparantly, the binary flag +b is not valid with POSIX popen. +2. Screen resize code modified so that most works in a SunOS cmdtool. +3. Color support added. Use `most -C' to disable. +4. Ported to Mingw32 (GNU C) + +Changes since 4.7 +1. Added tail -f type mode. Use F to activate. +2. OS/2 port provided by j.burnell@irl.cri.nz (John Burnell). +3. Left/Right arrow scroll 1 column. Use <, > to scroll in larger + chunks. + +Changes since 4.6 +0. Various cleanups and other improvements +1. Binary mode displays byte offset +2. Ported to DJGPP + +Changes since 4.5 +1. Many changes to enable MOST use the S-Lang screen management routines. + +Features in 4.5 +1. More cleanup/bug fixes +2. Regular expression searches +3. Automatic detection of compressed files. + +Features in 4.41: +1. Modified to read raw directry file in BINARY mode. + +New features in MOST 4.4: + +1. User definable keymaps +2. ISO Latin1 8 bit clean +3. Edit and recall previous search strings +4. Much friendlier, lots of messages and help +5. VMS ``Gopher ready'' +6. Cleaned up alot and small bugs fixed +7. Most now re-reads the file after editing. + +New Features since MOST version 3.x (Sept 25, 1994) + +1. Terminfo/termcap under Unix supported +2. -1 flag specifies terminal is a VT100 and not anything better, e.g., + VT102. (VMS only) +3. MOST will only read in what it has to. This means it starts up alot + faster on large files. +4. Cleaned up alot. + +John E. Davis +davis@space.mit.edu + +}}} diff --git a/vendor/most-5.1.0/config.log b/vendor/most-5.1.0/config.log new file mode 100644 index 0000000..0e67653 --- /dev/null +++ b/vendor/most-5.1.0/config.log @@ -0,0 +1,1216 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = ichigo +uname -m = x86_64 +uname -r = 5.3.8-arch1-1 +uname -s = Linux +uname -v = #1 SMP PREEMPT @1572357769 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = unknown +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +/usr/bin/hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /home/greg/.cargo/bin +PATH: /home/greg/.fzf/bin +PATH: /usr/local/sbin +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /usr/bin/site_perl +PATH: /usr/bin/vendor_perl +PATH: /usr/bin/core_perl + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:2462: checking for gcc +configure:2478: found /usr/bin/gcc +configure:2489: result: gcc +configure:2718: checking for C compiler version +configure:2727: gcc --version >&5 +gcc (GCC) 9.2.0 +Copyright (C) 2019 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2738: $? = 0 +configure:2727: gcc -v >&5 +Using built-in specs. +COLLECT_GCC=gcc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper +Target: x86_64-pc-linux-gnu +Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc +Thread model: posix +gcc version 9.2.0 (GCC) +configure:2738: $? = 0 +configure:2727: gcc -V >&5 +gcc: error: unrecognized command line option '-V' +gcc: fatal error: no input files +compilation terminated. +configure:2738: $? = 1 +configure:2727: gcc -qversion >&5 +gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? +gcc: fatal error: no input files +compilation terminated. +configure:2738: $? = 1 +configure:2758: checking whether the C compiler works +configure:2780: gcc conftest.c >&5 +configure:2784: $? = 0 +configure:2832: result: yes +configure:2835: checking for C compiler default output file name +configure:2837: result: a.out +configure:2843: checking for suffix of executables +configure:2850: gcc -o conftest conftest.c >&5 +configure:2854: $? = 0 +configure:2876: result: +configure:2898: checking whether we are cross compiling +configure:2906: gcc -o conftest conftest.c >&5 +configure:2910: $? = 0 +configure:2917: ./conftest +configure:2921: $? = 0 +configure:2909: result: no +configure:2914: checking for suffix of object files +configure:2936: gcc -c conftest.c >&5 +configure:2940: $? = 0 +configure:2961: result: o +configure:2965: checking whether we are using the GNU C compiler +configure:2984: gcc -c conftest.c >&5 +configure:2984: $? = 0 +configure:2993: result: yes +configure:3002: checking whether gcc accepts -g +configure:3022: gcc -c -g conftest.c >&5 +configure:3022: $? = 0 +configure:3063: result: yes +configure:3080: checking for gcc option to accept ISO C89 +configure:3143: gcc -c -g -O2 conftest.c >&5 +configure:3143: $? = 0 +configure:3156: result: none needed +configure:3182: checking how to run the C preprocessor +configure:3213: gcc -E conftest.c +configure:3213: $? = 0 +configure:3227: gcc -E conftest.c +conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory + 9 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:3227: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| /* end confdefs.h. */ +| #include +configure:3252: result: gcc -E +configure:3272: gcc -E conftest.c +configure:3272: $? = 0 +configure:3286: gcc -E conftest.c +conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory + 9 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:3286: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| /* end confdefs.h. */ +| #include +configure:3315: checking for grep that handles long lines and -e +configure:3373: result: /usr/bin/grep +configure:3378: checking for egrep +configure:3440: result: /usr/bin/grep -E +configure:3445: checking for ANSI C header files +configure:3465: gcc -c -g -O2 conftest.c >&5 +configure:3465: $? = 0 +configure:3538: gcc -o conftest -g -O2 conftest.c >&5 +configure:3538: $? = 0 +configure:3538: ./conftest +configure:3538: $? = 0 +configure:3549: result: yes +configure:3562: checking for sys/types.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for sys/stat.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for stdlib.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for string.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for memory.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for strings.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for inttypes.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for stdint.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3562: checking for unistd.h +configure:3562: gcc -c -g -O2 conftest.c >&5 +configure:3562: $? = 0 +configure:3562: result: yes +configure:3575: checking minix/config.h usability +configure:3575: gcc -c -g -O2 conftest.c >&5 +conftest.c:52:10: fatal error: minix/config.h: No such file or directory + 52 | #include + | ^~~~~~~~~~~~~~~~ +compilation terminated. +configure:3575: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| #include +configure:3575: result: no +configure:3575: checking minix/config.h presence +configure:3575: gcc -E conftest.c +conftest.c:19:10: fatal error: minix/config.h: No such file or directory + 19 | #include + | ^~~~~~~~~~~~~~~~ +compilation terminated. +configure:3575: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:3575: result: no +configure:3575: checking for minix/config.h +configure:3575: result: no +configure:3596: checking whether it is safe to define __EXTENSIONS__ +configure:3614: gcc -c -g -O2 conftest.c >&5 +configure:3614: $? = 0 +configure:3621: result: yes +configure:3636: checking whether gcc needs -traditional +configure:3670: result: no +configure:3682: checking for library containing strerror +configure:3713: gcc -o conftest -g -O2 conftest.c >&5 +configure:3713: $? = 0 +configure:3730: result: none required +configure:3756: checking C compiler that understands ANSI prototypes +configure:3770: gcc -c -g -O2 conftest.c >&5 +configure:3770: $? = 0 +configure:3772: result: gcc looks ok. Good. +configure:3812: checking whether make sets $(MAKE) +configure:3834: result: yes +configure:3857: checking for a BSD-compatible install +configure:3925: result: /usr/bin/install -c +configure:3940: checking build system type +configure:3954: result: x86_64-unknown-linux-gnu +configure:3974: checking host system type +configure:3987: result: x86_64-unknown-linux-gnu +configure:4012: checking dlfcn.h usability +configure:4012: gcc -c -g -O2 conftest.c >&5 +configure:4012: $? = 0 +configure:4012: result: yes +configure:4012: checking dlfcn.h presence +configure:4012: gcc -E conftest.c +configure:4012: $? = 0 +configure:4012: result: yes +configure:4012: checking for dlfcn.h +configure:4012: result: yes +configure:4018: checking for dlopen in -ldl +configure:4043: gcc -o conftest -g -O2 conftest.c -ldl >&5 +configure:4043: $? = 0 +configure:4052: result: yes +configure:4264: checking for X +configure:4372: gcc -E conftest.c +configure:4372: $? = 0 +configure:4403: gcc -o conftest -g -O2 conftest.c -lX11 >&5 +configure:4403: $? = 0 +configure:4453: result: libraries , headers +configure:4552: gcc -o conftest -g -O2 conftest.c -lX11 >&5 +configure:4552: $? = 0 +configure:4650: checking for gethostbyname +configure:4650: gcc -o conftest -g -O2 conftest.c >&5 +configure:4650: $? = 0 +configure:4650: result: yes +configure:4747: checking for connect +configure:4747: gcc -o conftest -g -O2 conftest.c >&5 +configure:4747: $? = 0 +configure:4747: result: yes +configure:4796: checking for remove +configure:4796: gcc -o conftest -g -O2 conftest.c >&5 +configure:4796: $? = 0 +configure:4796: result: yes +configure:4845: checking for shmat +configure:4845: gcc -o conftest -g -O2 conftest.c >&5 +configure:4845: $? = 0 +configure:4845: result: yes +configure:4903: checking for IceConnectionNumber in -lICE +configure:4928: gcc -o conftest -g -O2 conftest.c -lICE >&5 +configure:4928: $? = 0 +configure:4937: result: yes +configure:4949: checking if you want to use mmap if available +configure:4958: result: yes +configure:4978: checking for stdlib.h +configure:4978: result: yes +configure:4978: checking for unistd.h +configure:4978: result: yes +configure:4978: checking for memory.h +configure:4978: result: yes +configure:4978: checking malloc.h usability +configure:4978: gcc -c -g -O2 conftest.c >&5 +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking malloc.h presence +configure:4978: gcc -E conftest.c +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking for malloc.h +configure:4978: result: yes +configure:4978: checking termios.h usability +configure:4978: gcc -c -g -O2 conftest.c >&5 +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking termios.h presence +configure:4978: gcc -E conftest.c +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking for termios.h +configure:4978: result: yes +configure:4978: checking sys/mman.h usability +configure:4978: gcc -c -g -O2 conftest.c >&5 +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking sys/mman.h presence +configure:4978: gcc -E conftest.c +configure:4978: $? = 0 +configure:4978: result: yes +configure:4978: checking for sys/mman.h +configure:4978: result: yes +configure:4992: checking for dirent.h that defines DIR +configure:5011: gcc -c -g -O2 conftest.c >&5 +configure:5011: $? = 0 +configure:5019: result: yes +configure:5032: checking for library containing opendir +configure:5063: gcc -o conftest -g -O2 conftest.c >&5 +configure:5063: $? = 0 +configure:5080: result: none required +configure:5148: checking for mode_t +configure:5148: gcc -c -g -O2 conftest.c >&5 +configure:5148: $? = 0 +configure:5148: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:70:21: error: expected expression before ')' token + 70 | if (sizeof ((mode_t))) + | ^ +configure:5148: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define __EXTENSIONS__ 1 +| #define _ALL_SOURCE 1 +| #define _GNU_SOURCE 1 +| #define _POSIX_PTHREAD_SEMANTICS 1 +| #define _TANDEM_SOURCE 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_DLOPEN 1 +| #define USE_MMAP 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_TERMIOS_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_DIRENT_H 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((mode_t))) +| return 0; +| ; +| return 0; +| } +configure:5148: result: yes +configure:5159: checking for pid_t +configure:5159: gcc -c -g -O2 conftest.c >&5 +configure:5159: $? = 0 +configure:5159: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:70:20: error: expected expression before ')' token + 70 | if (sizeof ((pid_t))) + | ^ +configure:5159: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define __EXTENSIONS__ 1 +| #define _ALL_SOURCE 1 +| #define _GNU_SOURCE 1 +| #define _POSIX_PTHREAD_SEMANTICS 1 +| #define _TANDEM_SOURCE 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_DLOPEN 1 +| #define USE_MMAP 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_TERMIOS_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_DIRENT_H 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((pid_t))) +| return 0; +| ; +| return 0; +| } +configure:5159: result: yes +configure:5170: checking for uid_t in sys/types.h +configure:5189: result: yes +configure:5200: checking for size_t +configure:5200: gcc -c -g -O2 conftest.c >&5 +configure:5200: $? = 0 +configure:5200: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:70:21: error: expected expression before ')' token + 70 | if (sizeof ((size_t))) + | ^ +configure:5200: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define __EXTENSIONS__ 1 +| #define _ALL_SOURCE 1 +| #define _GNU_SOURCE 1 +| #define _POSIX_PTHREAD_SEMANTICS 1 +| #define _TANDEM_SOURCE 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_DLOPEN 1 +| #define USE_MMAP 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_TERMIOS_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_DIRENT_H 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((size_t))) +| return 0; +| ; +| return 0; +| } +configure:5200: result: yes +configure:5216: checking size of short +configure:5221: gcc -o conftest -g -O2 conftest.c >&5 +configure:5221: $? = 0 +configure:5221: ./conftest +configure:5221: $? = 0 +configure:5235: result: 2 +configure:5249: checking size of int +configure:5254: gcc -o conftest -g -O2 conftest.c >&5 +configure:5254: $? = 0 +configure:5254: ./conftest +configure:5254: $? = 0 +configure:5268: result: 4 +configure:5282: checking size of long +configure:5287: gcc -o conftest -g -O2 conftest.c >&5 +configure:5287: $? = 0 +configure:5287: ./conftest +configure:5287: $? = 0 +configure:5301: result: 8 +configure:5315: checking size of float +configure:5320: gcc -o conftest -g -O2 conftest.c >&5 +configure:5320: $? = 0 +configure:5320: ./conftest +configure:5320: $? = 0 +configure:5334: result: 4 +configure:5348: checking size of double +configure:5353: gcc -o conftest -g -O2 conftest.c >&5 +configure:5353: $? = 0 +configure:5353: ./conftest +configure:5353: $? = 0 +configure:5367: result: 8 +configure:5379: checking for long long +configure:5379: gcc -c -g -O2 conftest.c >&5 +configure:5379: $? = 0 +configure:5379: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:75:24: error: expected expression before ')' token + 75 | if (sizeof ((long long))) + | ^ +configure:5379: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define __EXTENSIONS__ 1 +| #define _ALL_SOURCE 1 +| #define _GNU_SOURCE 1 +| #define _POSIX_PTHREAD_SEMANTICS 1 +| #define _TANDEM_SOURCE 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_DLOPEN 1 +| #define USE_MMAP 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_TERMIOS_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_DIRENT_H 1 +| #define SIZEOF_SHORT 2 +| #define SIZEOF_INT 4 +| #define SIZEOF_LONG 8 +| #define SIZEOF_FLOAT 4 +| #define SIZEOF_DOUBLE 8 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((long long))) +| return 0; +| ; +| return 0; +| } +configure:5379: result: yes +configure:5393: checking size of long long +configure:5398: gcc -o conftest -g -O2 conftest.c >&5 +configure:5398: $? = 0 +configure:5398: ./conftest +configure:5398: $? = 0 +configure:5412: result: 8 +configure:5431: checking for special C compiler options needed for large files +configure:5476: result: no +configure:5482: checking for _FILE_OFFSET_BITS value needed for large files +configure:5507: gcc -c -g -O2 conftest.c >&5 +configure:5507: $? = 0 +configure:5539: result: no +configure:5624: checking for _LARGEFILE_SOURCE value needed for large files +configure:5643: gcc -o conftest -g -O2 conftest.c >&5 +configure:5643: $? = 0 +configure:5671: result: no +configure:5692: checking for off_t +configure:5692: gcc -c -g -O2 conftest.c >&5 +configure:5692: $? = 0 +configure:5692: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:78:20: error: expected expression before ')' token + 78 | if (sizeof ((off_t))) + | ^ +configure:5692: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define PACKAGE_URL "" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define __EXTENSIONS__ 1 +| #define _ALL_SOURCE 1 +| #define _GNU_SOURCE 1 +| #define _POSIX_PTHREAD_SEMANTICS 1 +| #define _TANDEM_SOURCE 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_DLOPEN 1 +| #define USE_MMAP 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_TERMIOS_H 1 +| #define HAVE_SYS_MMAN_H 1 +| #define HAVE_DIRENT_H 1 +| #define SIZEOF_SHORT 2 +| #define SIZEOF_INT 4 +| #define SIZEOF_LONG 8 +| #define SIZEOF_FLOAT 4 +| #define SIZEOF_DOUBLE 8 +| #define HAVE_LONG_LONG 1 +| #define SIZEOF_LONG_LONG 8 +| #define HAVE_FSEEKO 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((off_t))) +| return 0; +| ; +| return 0; +| } +configure:5692: result: yes +configure:5707: checking size of off_t +configure:5712: gcc -o conftest -g -O2 conftest.c >&5 +configure:5712: $? = 0 +configure:5712: ./conftest +configure:5712: $? = 0 +configure:5726: result: 8 +configure:5749: checking for memset +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:66:6: warning: conflicting types for built-in function 'memset'; expected 'void *(void *, int, long unsigned int)' [-Wbuiltin-declaration-mismatch] + 66 | char memset (); + | ^~~~~~ +conftest.c:54:1: note: 'memset' is declared in header '' + 53 | # include + 54 | #else +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for memcpy +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:67:6: warning: conflicting types for built-in function 'memcpy'; expected 'void *(void *, const void *, long unsigned int)' [-Wbuiltin-declaration-mismatch] + 67 | char memcpy (); + | ^~~~~~ +conftest.c:55:1: note: 'memcpy' is declared in header '' + 54 | # include + 55 | #else +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for putenv +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for getcwd +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for mmap +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for snprintf +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:71:6: warning: conflicting types for built-in function 'snprintf'; expected 'int(char *, long unsigned int, const char *, ...)' [-Wbuiltin-declaration-mismatch] + 71 | char snprintf (); + | ^~~~~~~~ +conftest.c:59:1: note: 'snprintf' is declared in header '' + 58 | # include + 59 | #else +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for getpgrp +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +configure:5749: $? = 0 +configure:5749: result: yes +configure:5749: checking for tcgetpgrp +configure:5749: gcc -o conftest -g -O2 conftest.c >&5 +configure:5749: $? = 0 +configure:5749: result: yes +configure:5782: checking for ncurses5-config +configure:5813: result: no +configure:5825: checking for ncursesw5-config +configure:5856: result: no +configure:5865: checking for terminfo +configure:5884: result: yes +configure:6014: checking for the slang library and header files +configure:6090: result: yes: /usr/lib and /usr/include +configure:6360: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on ichigo + +config.status:883: creating Makefile +config.status:883: creating src/Makefile +config.status:883: creating src/sysconf.h + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-unknown-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_XMKMF_set= +ac_cv_env_XMKMF_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_func_connect=yes +ac_cv_func_getcwd=yes +ac_cv_func_gethostbyname=yes +ac_cv_func_getpgrp=yes +ac_cv_func_memcpy=yes +ac_cv_func_memset=yes +ac_cv_func_mmap=yes +ac_cv_func_putenv=yes +ac_cv_func_remove=yes +ac_cv_func_shmat=yes +ac_cv_func_snprintf=yes +ac_cv_func_tcgetpgrp=yes +ac_cv_have_x='have_x=yes ac_x_includes='\'''\'' ac_x_libraries='\'''\''' +ac_cv_header_dirent_dirent_h=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_malloc_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_minix_config_h=no +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_mman_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_termios_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=x86_64-unknown-linux-gnu +ac_cv_lib_ICE_IceConnectionNumber=yes +ac_cv_lib_dl_dlopen=yes +ac_cv_objext=o +ac_cv_path_EGREP='/usr/bin/grep -E' +ac_cv_path_GREP=/usr/bin/grep +ac_cv_path_install='/usr/bin/install -c' +ac_cv_path_nc5config=no +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_gcc_traditional=no +ac_cv_prog_make_make_set=yes +ac_cv_safe_to_define___extensions__=yes +ac_cv_search_opendir='none required' +ac_cv_search_strerror='none required' +ac_cv_sizeof_double=8 +ac_cv_sizeof_float=4 +ac_cv_sizeof_int=4 +ac_cv_sizeof_long=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short=2 +ac_cv_sys_file_offset_bits=no +ac_cv_sys_largefile_CC=no +ac_cv_sys_largefile_source=no +ac_cv_type_long_long=yes +ac_cv_type_mode_t=yes +ac_cv_type_off_t=yes +ac_cv_type_pid_t=yes +ac_cv_type_size_t=yes +ac_cv_type_uid_t=yes + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +CC='gcc' +CC_SHARED='$(CC) -shared -fPIC $(CFLAGS)' +CC_SHARED_FLAGS='-shared -fPIC' +CFLAGS='-g -O2' +CONFIG_DIR='/home/greg/code/most-5.1.0' +CPP='gcc -E' +CPPFLAGS='' +DEFS='-DHAVE_CONFIG_H' +DLL_IMPLIB_NAME='' +DYNAMIC_LINK_FLAGS='-Wl,-export-dynamic' +DYNAMIC_LINK_LIB='-ldl' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/usr/bin/grep -E' +ELFDIR='/home/greg/code/most-5.1.0/src/$(ARCH)elfobjs' +ELFLIB='lib$(THIS_LIB).so' +ELFLIB_BUILD_NAME='$(ELFLIB_MAJOR_MINOR_MICRO)' +ELFLIB_MAJOR='$(ELFLIB).$(ELF_MAJOR_VERSION)' +ELFLIB_MAJOR_MINOR='$(ELFLIB_MAJOR).$(ELF_MINOR_VERSION)' +ELFLIB_MAJOR_MINOR_MICRO='$(ELFLIB_MAJOR_MINOR).$(ELF_MICRO_VERSION)' +ELF_CC='$(CC)' +ELF_CFLAGS='$(CFLAGS) -fPIC' +ELF_DEP_LIBS='$(DL_LIB) -lm -lc' +ELF_LINK='$(CC) $(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,$(VERSION_SCRIPT) -Wl,-soname,$(ELFLIB_MAJOR)' +ELF_LINK_CMD='' +EXEEXT='' +GREP='/usr/bin/grep' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_ELFLIB_TARGET='install-elf-and-links' +INSTALL_MODULE='$(INSTALL)' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +LDFLAGS='' +LIBOBJS='' +LIBS='' +LTLIBOBJS='' +MISC_TERMINFO_DIRS='' +M_LIB='-lm' +OBJDIR='/home/greg/code/most-5.1.0/src/$(ARCH)objs' +OBJEXT='o' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_URL='' +PACKAGE_VERSION='' +PATH_SEPARATOR=':' +PROGRAM_CFILES=' buffer.c cmd.c display.c edit.c file.c help.c keym.c keyparse.c line.c main.c most.c search.c sysdep.c window.c' +PROGRAM_ELFOBJECTS=' $(ELFDIR)/buffer.o $(ELFDIR)/cmd.o $(ELFDIR)/display.o $(ELFDIR)/edit.o $(ELFDIR)/file.o $(ELFDIR)/help.o $(ELFDIR)/keym.o $(ELFDIR)/keyparse.o $(ELFDIR)/line.o $(ELFDIR)/main.o $(ELFDIR)/most.o $(ELFDIR)/search.o $(ELFDIR)/sysdep.o $(ELFDIR)/window.o' +PROGRAM_HFILES='' +PROGRAM_OBJECTS=' $(OBJDIR)/buffer.o $(OBJDIR)/cmd.o $(OBJDIR)/display.o $(OBJDIR)/edit.o $(OBJDIR)/file.o $(OBJDIR)/help.o $(OBJDIR)/keym.o $(OBJDIR)/keyparse.o $(OBJDIR)/line.o $(OBJDIR)/main.o $(OBJDIR)/most.o $(OBJDIR)/search.o $(OBJDIR)/sysdep.o $(OBJDIR)/window.o' +PROGRAM_OFILES=' buffer.o cmd.o display.o edit.o file.o help.o keym.o keyparse.o line.o main.o most.o search.o sysdep.o window.o' +RPATH='' +SET_MAKE='' +SHELL='/bin/sh' +SLANG_DLL_CFLAGS='' +SLANG_INC='' +SLANG_INC_DIR='/usr/include' +SLANG_LIB='' +SLANG_LIB_DIR='/usr/lib' +SLANG_LIB_FOR_MODULES='' +SRCDIR='/home/greg/code/most-5.1.0/src' +TERMCAP='' +XMKMF='' +X_CFLAGS='' +X_EXTRA_LIBS='' +X_LIBS='' +X_PRE_LIBS=' -lSM -lICE' +ac_ct_CC='gcc' +bindir='${exec_prefix}/bin' +build='x86_64-unknown-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='unknown' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host='x86_64-unknown-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='unknown' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +nc5config='no' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +/* confdefs.h */ +#define PACKAGE_NAME "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define PACKAGE_STRING "" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_URL "" +#define STDC_HEADERS 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define __EXTENSIONS__ 1 +#define _ALL_SOURCE 1 +#define _GNU_SOURCE 1 +#define _POSIX_PTHREAD_SEMANTICS 1 +#define _TANDEM_SOURCE 1 +#define HAVE_DLFCN_H 1 +#define HAVE_DLOPEN 1 +#define USE_MMAP 1 +#define HAVE_STDLIB_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_TERMIOS_H 1 +#define HAVE_SYS_MMAN_H 1 +#define HAVE_DIRENT_H 1 +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_FLOAT 4 +#define SIZEOF_DOUBLE 8 +#define HAVE_LONG_LONG 1 +#define SIZEOF_LONG_LONG 8 +#define HAVE_FSEEKO 1 +#define SIZEOF_OFF_T 8 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_PUTENV 1 +#define HAVE_GETCWD 1 +#define HAVE_MMAP 1 +#define HAVE_SNPRINTF 1 +#define HAVE_GETPGRP 1 +#define HAVE_TCGETPGRP 1 + +configure: exit 0 diff --git a/vendor/most-5.1.0/config.status b/vendor/most-5.1.0/config.status new file mode 100755 index 0000000..636075c --- /dev/null +++ b/vendor/most-5.1.0/config.status @@ -0,0 +1,1082 @@ +#! /bin/sh +# Generated by configure. +# 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-/bin/sh} +export SHELL +## -------------------- ## +## 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 + + +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 +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + 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 + + +# 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. +as_myself= +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 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +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 + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +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'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.69. 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` +" + +# Files that config.status was made for. +config_files=" Makefile:autoconf/Makefile.in src/Makefile" +config_headers=" src/sysconf.h:src/config.hin" + +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, 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 + +Report bugs to the package provider." + +ac_cs_config="" +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.69, + with options \"$ac_cs_config\" + +Copyright (C) 2012 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='/home/greg/code/most-5.1.0' +srcdir='.' +INSTALL='/usr/bin/install -c' +test -n "$AWK" || AWK=awk +# 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=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + 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 ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; 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"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append 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 + +if $ac_cs_recheck; then + set X /bin/sh './configure' $ac_configure_extra_args --no-create --no-recursion + shift + $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6 + CONFIG_SHELL='/bin/sh' + export CONFIG_SHELL + exec "$@" +fi + +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 + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "src/sysconf.h") CONFIG_HEADERS="$CONFIG_HEADERS src/sysconf.h:src/config.hin" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:autoconf/Makefile.in" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + 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 +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= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# 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=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && +S["LTLIBOBJS"]="" +S["LIBOBJS"]="" +S["PROGRAM_ELFOBJECTS"]=" $(ELFDIR)/buffer.o $(ELFDIR)/cmd.o $(ELFDIR)/display.o $(ELFDIR)/edit.o $(ELFDIR)/file.o $(ELFDIR)/help.o $(ELFDIR)/keym.o $(ELFDIR)/keyparse.o $(E"\ +"LFDIR)/line.o $(ELFDIR)/main.o $(ELFDIR)/most.o $(ELFDIR)/search.o $(ELFDIR)/sysdep.o $(ELFDIR)/window.o" +S["PROGRAM_OBJECTS"]=" $(OBJDIR)/buffer.o $(OBJDIR)/cmd.o $(OBJDIR)/display.o $(OBJDIR)/edit.o $(OBJDIR)/file.o $(OBJDIR)/help.o $(OBJDIR)/keym.o $(OBJDIR)/keyparse.o $(O"\ +"BJDIR)/line.o $(OBJDIR)/main.o $(OBJDIR)/most.o $(OBJDIR)/search.o $(OBJDIR)/sysdep.o $(OBJDIR)/window.o" +S["PROGRAM_HFILES"]="" +S["PROGRAM_CFILES"]=" buffer.c cmd.c display.c edit.c file.c help.c keym.c keyparse.c line.c main.c most.c search.c sysdep.c window.c" +S["PROGRAM_OFILES"]=" buffer.o cmd.o display.o edit.o file.o help.o keym.o keyparse.o line.o main.o most.o search.o sysdep.o window.o" +S["SLANG_INC_DIR"]="/usr/include" +S["SLANG_LIB_DIR"]="/usr/lib" +S["SLANG_INC"]="" +S["SLANG_LIB"]="" +S["MISC_TERMINFO_DIRS"]="" +S["TERMCAP"]="" +S["nc5config"]="no" +S["ELFDIR"]="/home/greg/code/most-5.1.0/src/$(ARCH)elfobjs" +S["OBJDIR"]="/home/greg/code/most-5.1.0/src/$(ARCH)objs" +S["SRCDIR"]="/home/greg/code/most-5.1.0/src" +S["X_EXTRA_LIBS"]="" +S["X_LIBS"]="" +S["X_PRE_LIBS"]=" -lSM -lICE" +S["X_CFLAGS"]="" +S["XMKMF"]="" +S["M_LIB"]="-lm" +S["SLANG_DLL_CFLAGS"]="" +S["ELFLIB_BUILD_NAME"]="$(ELFLIB_MAJOR_MINOR_MICRO)" +S["INSTALL_ELFLIB_TARGET"]="install-elf-and-links" +S["INSTALL_MODULE"]="$(INSTALL)" +S["DLL_IMPLIB_NAME"]="" +S["SLANG_LIB_FOR_MODULES"]="" +S["ELFLIB_MAJOR_MINOR_MICRO"]="$(ELFLIB_MAJOR_MINOR).$(ELF_MICRO_VERSION)" +S["ELFLIB_MAJOR_MINOR"]="$(ELFLIB_MAJOR).$(ELF_MINOR_VERSION)" +S["ELFLIB_MAJOR"]="$(ELFLIB).$(ELF_MAJOR_VERSION)" +S["ELFLIB"]="lib$(THIS_LIB).so" +S["CC_SHARED"]="$(CC) -shared -fPIC $(CFLAGS)" +S["CC_SHARED_FLAGS"]="-shared -fPIC" +S["DYNAMIC_LINK_FLAGS"]="-Wl,-export-dynamic" +S["ELF_DEP_LIBS"]="$(DL_LIB) -lm -lc" +S["ELF_LINK_CMD"]="" +S["ELF_LINK"]="$(CC) $(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,$(VERSION_SCRIPT) -Wl,-soname,$(ELFLIB_MAJOR)" +S["ELF_CFLAGS"]="$(CFLAGS) -fPIC" +S["ELF_CC"]="$(CC)" +S["DYNAMIC_LINK_LIB"]="-ldl" +S["host_os"]="linux-gnu" +S["host_vendor"]="unknown" +S["host_cpu"]="x86_64" +S["host"]="x86_64-unknown-linux-gnu" +S["build_os"]="linux-gnu" +S["build_vendor"]="unknown" +S["build_cpu"]="x86_64" +S["build"]="x86_64-unknown-linux-gnu" +S["INSTALL_DATA"]="${INSTALL} -m 644" +S["INSTALL_SCRIPT"]="${INSTALL}" +S["INSTALL_PROGRAM"]="${INSTALL}" +S["SET_MAKE"]="" +S["EGREP"]="/usr/bin/grep -E" +S["GREP"]="/usr/bin/grep" +S["CPP"]="gcc -E" +S["OBJEXT"]="o" +S["EXEEXT"]="" +S["ac_ct_CC"]="gcc" +S["CPPFLAGS"]="" +S["LDFLAGS"]="" +S["CFLAGS"]="-g -O2" +S["CC"]="gcc" +S["CONFIG_DIR"]="/home/greg/code/most-5.1.0" +S["target_alias"]="" +S["host_alias"]="" +S["build_alias"]="" +S["LIBS"]="" +S["ECHO_T"]="" +S["ECHO_N"]="-n" +S["ECHO_C"]="" +S["DEFS"]="-DHAVE_CONFIG_H" +S["mandir"]="${datarootdir}/man" +S["localedir"]="${datarootdir}/locale" +S["libdir"]="${exec_prefix}/lib" +S["psdir"]="${docdir}" +S["pdfdir"]="${docdir}" +S["dvidir"]="${docdir}" +S["htmldir"]="${docdir}" +S["infodir"]="${datarootdir}/info" +S["docdir"]="${datarootdir}/doc/${PACKAGE}" +S["oldincludedir"]="/usr/include" +S["includedir"]="${prefix}/include" +S["localstatedir"]="${prefix}/var" +S["sharedstatedir"]="${prefix}/com" +S["sysconfdir"]="${prefix}/etc" +S["datadir"]="${datarootdir}" +S["datarootdir"]="${prefix}/share" +S["libexecdir"]="${exec_prefix}/libexec" +S["sbindir"]="${exec_prefix}/sbin" +S["bindir"]="${exec_prefix}/bin" +S["program_transform_name"]="s,x,x," +S["prefix"]="/usr/local" +S["exec_prefix"]="${prefix}" +S["PACKAGE_URL"]="" +S["PACKAGE_BUGREPORT"]="" +S["PACKAGE_STRING"]="" +S["PACKAGE_VERSION"]="" +S["PACKAGE_TARNAME"]="" +S["PACKAGE_NAME"]="" +S["PATH_SEPARATOR"]=":" +S["SHELL"]="/bin/sh" +S["RPATH"]="" +_ACAWK +cat >>"$ac_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 +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 < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +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 >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +D["PACKAGE_NAME"]=" \"\"" +D["PACKAGE_TARNAME"]=" \"\"" +D["PACKAGE_VERSION"]=" \"\"" +D["PACKAGE_STRING"]=" \"\"" +D["PACKAGE_BUGREPORT"]=" \"\"" +D["PACKAGE_URL"]=" \"\"" +D["STDC_HEADERS"]=" 1" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_STRING_H"]=" 1" +D["HAVE_MEMORY_H"]=" 1" +D["HAVE_STRINGS_H"]=" 1" +D["HAVE_INTTYPES_H"]=" 1" +D["HAVE_STDINT_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["__EXTENSIONS__"]=" 1" +D["_ALL_SOURCE"]=" 1" +D["_GNU_SOURCE"]=" 1" +D["_POSIX_PTHREAD_SEMANTICS"]=" 1" +D["_TANDEM_SOURCE"]=" 1" +D["HAVE_DLFCN_H"]=" 1" +D["HAVE_DLOPEN"]=" 1" +D["USE_MMAP"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE_MEMORY_H"]=" 1" +D["HAVE_MALLOC_H"]=" 1" +D["HAVE_TERMIOS_H"]=" 1" +D["HAVE_SYS_MMAN_H"]=" 1" +D["HAVE_DIRENT_H"]=" 1" +D["SIZEOF_SHORT"]=" 2" +D["SIZEOF_INT"]=" 4" +D["SIZEOF_LONG"]=" 8" +D["SIZEOF_FLOAT"]=" 4" +D["SIZEOF_DOUBLE"]=" 8" +D["HAVE_LONG_LONG"]=" 1" +D["SIZEOF_LONG_LONG"]=" 8" +D["HAVE_FSEEKO"]=" 1" +D["SIZEOF_OFF_T"]=" 8" +D["HAVE_MEMSET"]=" 1" +D["HAVE_MEMCPY"]=" 1" +D["HAVE_PUTENV"]=" 1" +D["HAVE_GETCWD"]=" 1" +D["HAVE_MMAP"]=" 1" +D["HAVE_SNPRINTF"]=" 1" +D["HAVE_GETPGRP"]=" 1" +D["HAVE_TCGETPGRP"]=" 1" + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\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 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +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_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[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="$ac_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_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append 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:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + 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 >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + 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"; as_fn_mkdir_p + 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 +# 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:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac +ac_sed_extra="/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +} + +: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 +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 diff --git a/vendor/most-5.1.0/configure b/vendor/most-5.1.0/configure new file mode 100755 index 0000000..cdf1813 --- /dev/null +++ b/vendor/most-5.1.0/configure @@ -0,0 +1,7574 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69. +# +# +# Copyright (C) 1992-1996, 1998-2012 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 + + +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 +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + 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 + + +# 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. +as_myself= +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 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +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 + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +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'` + +# 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_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # 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 +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +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='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/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= + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= + +ac_unique_file="src/most.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='LTLIBOBJS +LIBOBJS +PROGRAM_ELFOBJECTS +PROGRAM_OBJECTS +PROGRAM_HFILES +PROGRAM_CFILES +PROGRAM_OFILES +SLANG_INC_DIR +SLANG_LIB_DIR +SLANG_INC +SLANG_LIB +MISC_TERMINFO_DIRS +TERMCAP +nc5config +ELFDIR +OBJDIR +SRCDIR +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +M_LIB +SLANG_DLL_CFLAGS +ELFLIB_BUILD_NAME +INSTALL_ELFLIB_TARGET +INSTALL_MODULE +DLL_IMPLIB_NAME +SLANG_LIB_FOR_MODULES +ELFLIB_MAJOR_MINOR_MICRO +ELFLIB_MAJOR_MINOR +ELFLIB_MAJOR +ELFLIB +CC_SHARED +CC_SHARED_FLAGS +DYNAMIC_LINK_FLAGS +ELF_DEP_LIBS +ELF_LINK_CMD +ELF_LINK +ELF_CFLAGS +ELF_CC +DYNAMIC_LINK_LIB +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +SET_MAKE +EGREP +GREP +CPP +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +CONFIG_DIR +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_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +RPATH' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_x +enable_mmap +enable_largefile +with_slang +with_slanglib +with_slanginc +enable_warnings +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +XMKMF' + + +# 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}' +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= ;; + *) 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_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"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_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"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_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"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_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"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_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # 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_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $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_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# 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 + 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_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# 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_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-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] + --disable-mmap disable the use of mmap + --disable-largefile omit support for large files + --enable-warnings turn on GCC compiler warnings + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-x use the X Window System + --with-slang=DIR Use DIR/lib and DIR/include for slang + --with-slanglib=DIR slang library in DIR + --with-slanginc=DIR slang include files in DIR + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System + +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 the package provider. +_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 +configure +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 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 + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.69. 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) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset 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 + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + 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 + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + 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 + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > 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 + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_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 + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +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 /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + 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. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +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 + + + +#These variable are initialized by JD init function +CONFIG_DIR=`pwd` +cd $srcdir +if test "`pwd`" != "$CONFIG_DIR" +then + as_fn_error $? "\"This software does not support configuring from another directory. See the INSTALL file\"" "$LINENO" 5 +fi +# Note: these will differ if one is a symbolic link +if test -f /usr/bin/dirname; then + JD_Above_Dir=`dirname $CONFIG_DIR` +else +# system is a loser + JD_Above_Dir=`cd ..;pwd` +fi +JD_Above_Dir2=`cd ..;pwd` + +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +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:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* 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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + 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:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* 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" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +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_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i 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:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; 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" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; 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" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + 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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if ${ac_cv_safe_to_define___extensions__+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + +if test $ac_cv_c_compiler_gnu = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 +$as_echo_n "checking whether $CC needs -traditional... " >&6; } +if ${ac_cv_prog_gcc_traditional+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_pattern="Autoconf.*'x'" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 +$as_echo "$ac_cv_prog_gcc_traditional" >&6; } + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +$as_echo_n "checking for library containing strerror... " >&6; } +if ${ac_cv_search_strerror+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; 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 + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_strerror=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_strerror+:} false; then : + break +fi +done +if ${ac_cv_search_strerror+:} false; then : + +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +$as_echo "$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef hpux + yes +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "yes" >/dev/null 2>&1; then : + + +$as_echo "#define _HPUX_SOURCE 1" >>confdefs.h + +if test "$CC" = cc; then CC="cc -Ae"; fi + +fi +rm -f conftest* +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking C compiler that understands ANSI prototypes" >&5 +$as_echo_n "checking C compiler that understands ANSI prototypes... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + extern int silly (int); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC looks ok. Good." >&5 +$as_echo "$CC looks ok. Good." >&6; } +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC is not a good enough compiler" >&5 +$as_echo "$CC is not a good enough compiler" >&6; } + as_fn_error $? "Set env variable CC to your ANSI compiler and rerun configure." "$LINENO" 5 + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +ac_aux_dir= +for ac_dir in autoconf "$srcdir"/autoconf; 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_fn_error $? "cannot find install-sh, install.sh, or shtool in autoconf \"$srcdir\"/autoconf" "$LINENO" 5 +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. + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; 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:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; 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 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + 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:${as_lineno-$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' + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; 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_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +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:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; 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_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +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 + + + + +DYNAMIC_LINK_LIB="" + + +ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + + +$as_echo "#define HAVE_DLFCN_H 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + + DYNAMIC_LINK_LIB="-ldl" + +$as_echo "#define HAVE_DLOPEN 1" >>confdefs.h + + +else + + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + $as_echo "#define HAVE_DLOPEN Define if you have dlopen" >>confdefs.h + +fi + + if test "$ac_cv_func_dlopen" != yes + then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot perform dynamic linking" >&5 +$as_echo "$as_me: WARNING: cannot perform dynamic linking" >&2;} + fi + +fi + +fi + + + + +if test "$GCC" = yes +then + if test X"$CFLAGS" = X + then + CFLAGS="-O2" + fi +fi + +ELFLIB="lib\$(THIS_LIB).so" +ELFLIB_MAJOR="\$(ELFLIB).\$(ELF_MAJOR_VERSION)" +ELFLIB_MAJOR_MINOR="\$(ELFLIB_MAJOR).\$(ELF_MINOR_VERSION)" +ELFLIB_MAJOR_MINOR_MICRO="\$(ELFLIB_MAJOR_MINOR).\$(ELF_MICRO_VERSION)" + +INSTALL_ELFLIB_TARGET="install-elf-and-links" +ELFLIB_BUILD_NAME="\$(ELFLIB_MAJOR_MINOR_MICRO)" +INSTALL_MODULE="\$(INSTALL)" +SLANG_DLL_CFLAGS="" +M_LIB="-lm" + +case "$host_os" in + *linux*|*gnu*|k*bsd*-gnu ) + DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + *solaris* ) + if test "$GCC" = yes + then + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-ztext -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-G -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -K PIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -G -h\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-G -K PIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + # osr5 or unixware7 with current or late autoconf + *sco3.2v5* | *unixware-5* | *sco-sysv5uw7*) + if test "$GCC" = yes + then + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-G -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -K pic" + # ELF_LINK="ld -G -z text -h#" + ELF_LINK="\$(CC) \$(LDFLAGS) -G -z text -h\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-G -K pic" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + *irix6.5* ) + echo "Note: ELF compiler for host_os=$host_os may not be correct" + echo "double-check: 'mode_t', 'pid_t' may be wrong!" + if test "$GCC" = yes + then + # not tested + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-h,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + else + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS)" # default anyhow + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -o \$(ELFLIB_MAJOR)" + ELF_DEP_LIBS= + CC_SHARED_FLAGS="-shared" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + fi + ;; + *darwin* ) + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fno-common" + ELF_LINK="\$(CC) \$(LDFLAGS) -dynamiclib -install_name \$(install_lib_dir)/\$(ELFLIB_MAJOR) -compatibility_version \$(ELF_MAJOR_VERSION) -current_version \$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION)" + ELF_DEP_LIBS="\$(LDFLAGS) \$(DL_LIB)" + CC_SHARED_FLAGS="-bundle -flat_namespace -undefined suppress -fno-common" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ELFLIB="lib\$(THIS_LIB).dylib" + ELFLIB_MAJOR="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).dylib" + ELFLIB_MAJOR_MINOR="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION).dylib" + ELFLIB_MAJOR_MINOR_MICRO="lib\$(THIS_LIB).\$(ELF_MAJOR_VERSION).\$(ELF_MINOR_VERSION).\$(ELF_MICRO_VERSION).dylib" + ;; + *freebsd* ) + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + #if test "X$PORTOBJFORMAT" = "Xelf" ; then + # ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-soname,\$(ELFLIB_MAJOR)" + #else + # ELF_LINK="ld -Bshareable -x" + #fi + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB) -lm" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + *cygwin* ) + DYNAMIC_LINK_FLAGS="" + ELF_CC="\$(CC)" + SLANG_DLL_CFLAGS="-DSLANG_DLL=1" + ELF_CFLAGS="\$(CFLAGS) -DBUILD_DLL=1" + DLL_IMPLIB_NAME="lib\$(THIS_LIB)\$(ELFLIB_MAJOR_VERSION).dll.a" + #ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR) -Wl,--out-implib=\$(DLL_IMPLIB_NAME) -Wl,-export-all-symbols -Wl,-enable-auto-import" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR) -Wl,--out-implib=\$(DLL_IMPLIB_NAME)" + ELF_DEP_LIBS="\$(DL_LIB) -lm" + CC_SHARED_FLAGS="-shared -DSLANG_DLL=1" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + SLANG_LIB_FOR_MODULES="-L\$(ELFDIR) -lslang" + INSTALL_MODULE="\$(INSTALL)" + INSTALL_ELFLIB_TARGET="install-elf-cygwin" + ELFLIB="lib\$(THIS_LIB).dll" + ELFLIB_MAJOR="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION).dll" + ELFLIB_MAJOR_MINOR="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION)_\$(ELF_MINOR_VERSION).dll" + ELFLIB_MAJOR_MINOR_MICRO="cyg\$(THIS_LIB)-\$(ELF_MAJOR_VERSION)_\$(ELF_MINOR_VERSION)_\$(ELF_MICRO_VERSION).dll" + ELFLIB_BUILD_NAME="\$(ELFLIB_MAJOR)" + ;; + *haiku* ) + M_LIB="" + DYNAMIC_LINK_FLAGS="-Wl,-export-dynamic" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared -Wl,-O1 -Wl,--version-script,\$(VERSION_SCRIPT) -Wl,-soname,\$(ELFLIB_MAJOR)" + ELF_DEP_LIBS="\$(DL_LIB)" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" + ;; + * ) + echo "Note: ELF compiler for host_os=$host_os may be wrong" + ELF_CC="\$(CC)" + ELF_CFLAGS="\$(CFLAGS) -fPIC" + ELF_LINK="\$(CC) \$(LDFLAGS) -shared" + ELF_DEP_LIBS="\$(DL_LIB) -lm -lc" + CC_SHARED_FLAGS="-shared -fPIC" + CC_SHARED="\$(CC) $CC_SHARED_FLAGS \$(CFLAGS)" +esac + + + + + + + + + + + + + + + + + + + + + + +# determine X include and needed libs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } + + +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + case $x_includes,$x_libraries in #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( + *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : + $as_echo_n "(cached) " >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -f -r conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + cat >Imakefile <<'_ACEOF' +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ac_x_includes= ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /usr/lib64 | /lib | /lib64) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -f -r conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R7/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R7 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R7/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R7 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. + # First, try using that file with no special directory specified. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # We can compile using X headers with no special include directory. +ac_x_includes= +else + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Xlib.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.i conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +XrmInitialize () + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac +fi +;; #( + *) have_x=yes;; + esac + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } +fi + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" +else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDisplay (); +int +main () +{ +return XOpenDisplay (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dnet_dnet_ntoa=yes +else + ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = xyes; then : + +fi + + if test $ac_cv_func_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostbyname=yes +else + ac_cv_lib_nsl_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if ${ac_cv_lib_bsd_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_bsd_gethostbyname=yes +else + ac_cv_lib_bsd_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = xyes; then : + +fi + + if test $ac_cv_func_connect = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if ${ac_cv_lib_socket_connect+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_socket_connect=yes +else + ac_cv_lib_socket_connect=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = xyes; then : + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + + # Guillermo Gomez says -lposix is necessary on A/UX. + ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = xyes; then : + +fi + + if test $ac_cv_func_remove = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if ${ac_cv_lib_posix_remove+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes +else + ac_cv_lib_posix_remove=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = xyes; then : + +fi + + if test $ac_cv_func_shmat = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if ${ac_cv_lib_ipc_shmat+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ipc_shmat=yes +else + ac_cv_lib_ipc_shmat=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +fi + + fi + fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char IceConnectionNumber (); +int +main () +{ +return IceConnectionNumber (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ICE_IceConnectionNumber=yes +else + ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then : + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + + +# Implementation of the --disable-dev-random switch. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if you want to use mmap if available" >&5 +$as_echo_n "checking if you want to use mmap if available... " >&6; } +# Check whether --enable-mmap was given. +if test "${enable_mmap+set}" = set; then : + enableval=$enable_mmap; jd_use_mmap=$enableval +else + jd_use_mmap=yes +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $jd_use_mmap" >&5 +$as_echo "$jd_use_mmap" >&6; } +case "x$jd_use_mmap" in +xyes ) + $as_echo "#define USE_MMAP 1" >>confdefs.h + + ;; +esac + +#Check these header since they cause trouble +for ac_header in \ +stdlib.h \ +unistd.h \ +memory.h \ +malloc.h \ +termios.h \ +sys/mman.h \ + +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ac_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:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = 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:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char 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 + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char 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 + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$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 + + +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "#define uid_t int" >>confdefs.h + + +$as_echo "#define gid_t int" >>confdefs.h + +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5 +$as_echo_n "checking size of float... " >&6; } +if ${ac_cv_sizeof_float+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_float" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (float) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_float=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5 +$as_echo "$ac_cv_sizeof_float" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_FLOAT $ac_cv_sizeof_float +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5 +$as_echo_n "checking size of double... " >&6; } +if ${ac_cv_sizeof_double+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_double" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (double) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_double=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5 +$as_echo "$ac_cv_sizeof_double" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_DOUBLE $ac_cv_sizeof_double +_ACEOF + + + + + ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" +if test "x$ac_cv_type_long_long" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_LONG_LONG 1 +_ACEOF + + +fi + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 +$as_echo_n "checking size of long long... " >&6; } +if ${ac_cv_sizeof_long_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +$as_echo "$ac_cv_sizeof_long_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +_ACEOF + + + + + # 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:${as_lineno-$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 ${ac_cv_sys_largefile_CC+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* 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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +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:${as_lineno-$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:${as_lineno-$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 ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* 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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* 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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +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:${as_lineno-$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:${as_lineno-$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 ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* 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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* 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 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +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:${as_lineno-$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:${as_lineno-$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 ${ac_cv_sys_largefile_source+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include /* for off_t */ + #include +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGEFILE_SOURCE 1 +#include /* for off_t */ + #include +int +main () +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_sys_largefile_source=1; break +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$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 + +$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h + +fi + + ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" +if test "x$ac_cv_type_off_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define off_t long int +_ACEOF + +fi + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 +$as_echo_n "checking size of off_t... " >&6; } +if ${ac_cv_sizeof_off_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_off_t" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (off_t) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_off_t=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 +$as_echo "$ac_cv_sizeof_off_t" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_OFF_T $ac_cv_sizeof_off_t +_ACEOF + + + + +for ac_func in \ +memset \ +memcpy \ +putenv \ +getcwd \ +mmap \ +snprintf \ +getpgrp tcgetpgrp \ + +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + +#--------------------------------------------------------------------------- +# Set the source directory and object directory. The makefile assumes an +# absolute path name. This is because src/Makefile cds to OBJDIR and compiles +# the src file which is in SRCDIR +#--------------------------------------------------------------------------- +SRCDIR=$CONFIG_DIR +if test "" != "." +then + if test -z "" + then + SRCDIR=$SRCDIR/src + else + SRCDIR=$SRCDIR/ + fi +fi + +OBJDIR=$SRCDIR/"\$(ARCH)"objs +ELFDIR=$SRCDIR/"\$(ARCH)"elfobjs + + +# Extract the first word of "ncurses5-config", so it can be a program name with args. +set dummy ncurses5-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_nc5config+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $nc5config in + [\\/]* | ?:[\\/]*) + ac_cv_path_nc5config="$nc5config" # Let the user override the test with a path. + ;; + *) + 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_nc5config="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_nc5config" && ac_cv_path_nc5config="no" + ;; +esac +fi +nc5config=$ac_cv_path_nc5config +if test -n "$nc5config"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nc5config" >&5 +$as_echo "$nc5config" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test "$nc5config" = "no" +then + # Extract the first word of "ncursesw5-config", so it can be a program name with args. +set dummy ncursesw5-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_nc5config+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $nc5config in + [\\/]* | ?:[\\/]*) + ac_cv_path_nc5config="$nc5config" # Let the user override the test with a path. + ;; + *) + 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_nc5config="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_nc5config" && ac_cv_path_nc5config="no" + ;; +esac +fi +nc5config=$ac_cv_path_nc5config +if test -n "$nc5config"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nc5config" >&5 +$as_echo "$nc5config" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for terminfo" >&5 +$as_echo_n "checking for terminfo... " >&6; } +if test "$nc5config" != "no" +then + MISC_TERMINFO_DIRS=`$nc5config --terminfo` +else + MISC_TERMINFO_DIRS="" +fi +JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \ + /usr/lib/terminfo \ + /usr/share/terminfo \ + /usr/share/lib/terminfo \ + /usr/local/lib/terminfo" +TERMCAP=-ltermcap + +for terminfo_dir in $JD_Terminfo_Dirs +do + if test -d $terminfo_dir + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + TERMCAP="" + break + fi +done +if test "$TERMCAP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define USE_TERMCAP 1" >>confdefs.h + +fi + + + if test "X$jd_prefix" = "X" + then + jd_prefix=$ac_default_prefix + if test "X$prefix" != "XNONE" + then + jd_prefix="$prefix" + fi + jd_exec_prefix="$jd_prefix" + if test "X$exec_prefix" != "XNONE" + then + jd_exec_prefix="$exec_prefix" + fi + + eval `sh <&5 +$as_echo_n "checking for the slang library and header files ... " >&6; } + if test X"$jd_with_slang_library" != Xno + then + jd_slang_inc_file= + + if test "X$jd_slang_inc_file" = "X" + then + jd_slang_inc_file=slang.h + fi + + if test X"$jd_slang_include_dir" = X + then + inc_and_lib_dirs="\ + $jd_prefix_incdir,$jd_prefix_libdir \ + /usr/local/slang/include,/usr/local/slang/lib \ + /usr/local/include/slang,/usr/local/lib \ + /usr/local/include,/usr/local/lib \ + $JD_SYS_INCLIBS \ + /usr/include/slang,/usr/lib \ + /usr/slang/include,/usr/slang/lib \ + /usr/include,/usr/lib \ + /opt/include/slang,/opt/lib \ + /opt/slang/include,/opt/slang/lib \ + /opt/include,/opt/lib" + + if test X != X + then + inc_and_lib_dirs="/include,/lib $inc_and_lib_dirs" + fi + + case "$host_os" in + *darwin* ) + exts="dylib so a" + ;; + *cygwin* ) + exts="dll.a so a" + ;; + * ) + exts="so a" + esac + + xincfile="$jd_slang_inc_file" + xlibfile="libslang" + jd_with_slang_library="no" + + for include_and_lib in $inc_and_lib_dirs + do + # Yuk. Is there a better way to set these variables?? + xincdir=`echo $include_and_lib | tr ',' ' ' | awk '{print $1}'` + xlibdir=`echo $include_and_lib | tr ',' ' ' | awk '{print $2}'` + found=0 + if test -r $xincdir/$xincfile + then + for E in $exts + do + if test -r "$xlibdir/$xlibfile.$E" + then + jd_slang_include_dir="$xincdir" + jd_slang_library_dir="$xlibdir" + jd_with_slang_library="yes" + found=1 + break + fi + done + fi + if test $found -eq 1 + then + break + fi + done + fi + fi + + if test X"$jd_slang_include_dir" != X -a X"$jd_slang_library_dir" != X + then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes: $jd_slang_library_dir and $jd_slang_include_dir" >&5 +$as_echo "yes: $jd_slang_library_dir and $jd_slang_include_dir" >&6; } + jd_with_slang_library="yes" + SLANG_LIB=-L$jd_slang_library_dir + SLANG_LIB_DIR=$jd_slang_library_dir + if test "X$jd_slang_library_dir" = "X/usr/lib" -o "X$jd_slang_include_dir" = "X/usr/include" + then + SLANG_LIB="" + else + +if test "X$jd_slang_library_dir" != "X" +then + if test "X$RPATH" = "X" + then + +case "$host_os" in + *linux*|*solaris* ) + if test "X$GCC" = Xyes + then + if test "X$ac_R_nospace" = "Xno" + then + RPATH="-Wl,-R," + else + RPATH="-Wl,-R" + fi + else + if test "X$ac_R_nospace" = "Xno" + then + RPATH="-R " + else + RPATH="-R" + fi + fi + ;; + *osf*|*openbsd*|*freebsd*) + if test "X$GCC" = Xyes + then + RPATH="-Wl,-rpath," + else + RPATH="-rpath " + fi + ;; + *netbsd*) + if test "X$GCC" = Xyes + then + RPATH="-Wl,-R" + fi + ;; +esac + + if test "X$RPATH" != "X" + then + RPATH="$RPATH$jd_slang_library_dir" + fi + else + _already_there=0 + for X in `echo $RPATH | sed 's/:/ /g'` + do + if test "$X" = "$jd_slang_library_dir" + then + _already_there=1 + break + fi + done + if test $_already_there = 0 + then + RPATH="$RPATH:$jd_slang_library_dir" + fi + fi +fi + + fi + + SLANG_INC=-I$jd_slang_include_dir + SLANG_INC_DIR=$jd_slang_include_dir + if test "X$jd_slang_include_dir" = "X/usr/include" + then + SLANG_INC="" + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + jd_with_slang_library="no" + SLANG_INC="" + SLANG_LIB="" + SLANG_INC_DIR="" + SLANG_LIB_DIR="" + fi + + + + + + if test "$jd_with_slang_library" = "no" + then + as_fn_error $? "unable to find the slang library and header file $jd_slang_inc_file" "$LINENO" 5 + fi + + +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then : + enableval=$enable_warnings; gcc_warnings=$enableval +fi + +if test -n "$GCC" +then + #CFLAGS="$CFLAGS -fno-strength-reduce" + if test -n "$gcc_warnings" + then + CFLAGS="$CFLAGS -Wall -W -pedantic -Winline -Wmissing-prototypes \ + -Wnested-externs -Wpointer-arith -Wcast-align -Wshadow -Wstrict-prototypes \ + -Wformat=2" + # Now trim excess whitespace + CFLAGS=`echo $CFLAGS` + fi +fi + + + PROGRAM_HFILES="" + PROGRAM_OFILES="" + PROGRAM_CFILES="" + PROGRAM_OBJECTS="" + PROGRAM_ELFOBJECTS="" + PROGRAM_OBJECT_RULES="" + PROGRAM_ELF_ORULES="" + if test -z "src/modules.lis" + then + Program_Modules="" + else + comment_re="^#" + Program_Modules=`grep -v '$comment_re' src/modules.lis | awk '{print $1}'` + Program_H_Modules=`grep -v '$comment_re' src/modules.lis | awk '{print $2}'` + for program_module in $Program_H_Modules; do + PROGRAM_HFILES="$PROGRAM_HFILES $program_module" + done + fi + for program_module in $Program_Modules; do + PROGRAM_OFILES="$PROGRAM_OFILES $program_module.o" + PROGRAM_CFILES="$PROGRAM_CFILES $program_module.c" + PROGRAM_OBJECTS="$PROGRAM_OBJECTS \$(OBJDIR)/$program_module.o" + PROGRAM_ELFOBJECTS="$PROGRAM_ELFOBJECTS \$(ELFDIR)/$program_module.o" + done + + + for program_module in $Program_Modules; do + +PROGRAM_OBJECT_RULES="$PROGRAM_OBJECT_RULES +\$(OBJDIR)/$program_module.o : \$(SRCDIR)/$program_module.c \$(DOT_O_DEPS) \$(OBJ_O_DEPS) \$("$program_module"_O_DEP) + cd \$(OBJDIR) && \$(COMPILE_CMD) \$("$program_module"_C_FLAGS) \$(SRCDIR)/$program_module.c +" + + +PROGRAM_ELF_ORULES="$PROGRAM_ELF_ORULES +\$(ELFDIR)/$program_module.o : \$(SRCDIR)/$program_module.c \$(DOT_O_DEPS) \$(ELF_O_DEPS) \$("$program_module"_O_DEP) + cd \$(ELFDIR) && \$(ELFCOMPILE_CMD) \$("$program_module"_C_FLAGS) \$(SRCDIR)/$program_module.c +" + + done + + +ac_config_headers="$ac_config_headers src/sysconf.h:src/config.hin" + +ac_config_files="$ac_config_files Makefile:autoconf/Makefile.in src/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:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `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 + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +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= +U= +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. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: "${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:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# 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} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + 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_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 +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + 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 + + +# 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. +as_myself= +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 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +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 + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +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'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +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 -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# 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 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.69. 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" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, 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 + +Report bugs to the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 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' +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=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + 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 ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; 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"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append 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 +_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 + "src/sysconf.h") CONFIG_HEADERS="$CONFIG_HEADERS src/sysconf.h:src/config.hin" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:autoconf/Makefile.in" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + 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 +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= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# 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=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + 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 >>"\$ac_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 +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_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 < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries 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[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +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 >"$ac_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_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + 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 +' >$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_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +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_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[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="$ac_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_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append 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:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + 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 >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + 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"; as_fn_mkdir_p + 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 +_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:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + 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 +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# 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 || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + +PROGRAM_OBJECT_RULES="$PROGRAM_OBJECT_RULES +\$(OBJDIR)/chkslang.o : \$(SRCDIR)/chkslang.c \$(DOT_O_DEPS) \$(OBJ_O_DEPS) \$("chkslang"_O_DEP) + cd \$(OBJDIR) && \$(COMPILE_CMD) \$("chkslang"_C_FLAGS) \$(SRCDIR)/chkslang.c +" + + + echo "$PROGRAM_OBJECT_RULES" >> src/Makefile + + diff --git a/vendor/most-5.1.0/doc/lesskeys.rc b/vendor/most-5.1.0/doc/lesskeys.rc new file mode 100644 index 0000000..5dc3c51 --- /dev/null +++ b/vendor/most-5.1.0/doc/lesskeys.rc @@ -0,0 +1,59 @@ +% This is an example configuration file that provides a `less' emulation +% for MOST. +% +% The format is simple: +% setkey +% unsetkey +% color +% +% Here must be enclosed in double quotes. '^' represents Ctrl. +% The function name is not in double quotes. +% +% +% When MOST starts up, it looks for a keymap file given by the environment +% variable MOST_INITFILE. If that environment variable does not exist, +% MOST will look in the users HOME directory for .mostrc on Unix systems +% and MOST.RC on VMS systems. +% +% The file `most.rc' contains a listing of the default MOST keybindings. + +% Color settings + +color normal lightgray black +color status yellow blue +color underline brightgreen black +color overstrike brightred black + +% Keybindings + +unsetkey "^K" +setkey up "^K" + +unsetkey ":" +setkey next_file ":n" +setkey find_file ":e" +setkey next_file ":p" +setkey toggle_options ":o" +setkey toggle_case ":c" +setkey delete_file ":d" +setkey exit ":q" + +setkey down "e" +setkey down "E" +setkey down "j" +setkey down "^N" +setkey up "y" +setkey up "^Y" +setkey up "k" +setkey up "^P" +setkey page_down "f" +setkey page_down "^F" +setkey page_up "b" +setkey page_up "^B" +setkey other_window "z" +setkey other_window "w" +setkey search_backward "?" +setkey bob "p" +setkey goto_mark "'" +setkey find_file "E" +setkey edit "v" diff --git a/vendor/most-5.1.0/doc/most-fun.txt b/vendor/most-5.1.0/doc/most-fun.txt new file mode 100644 index 0000000..89d2c47 --- /dev/null +++ b/vendor/most-5.1.0/doc/most-fun.txt @@ -0,0 +1,45 @@ +The following functions may be used in custom keymaps: + +edit +suspend +toggle_lock +next_file +toggle_options +extended_key +toggle_case +delete_file +bob +delete_window +digit_arg +down +edt_backward +edt_find +edt_find_next +edt_forward +edt_line +edt_page +eob +exit +find_file +find_next +goto_line +goto_mark +goto_percent +help +one_window +other_window +page_down +page_left +page_right +column_right +column_left +page_up +redraw +search_backward +search_forward +set_mark +show_time +tail_mode +toggle_width +two_windows +up diff --git a/vendor/most-5.1.0/doc/most.1 b/vendor/most-5.1.0/doc/most.1 new file mode 100644 index 0000000..6063f02 --- /dev/null +++ b/vendor/most-5.1.0/doc/most.1 @@ -0,0 +1,432 @@ +.\" This manpage has been automatically generated by docbook2man +.\" from a DocBook document. This tool can be found at: +.\" +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng . +.TH "MOST" "1" "17 February 2019" "" "" + +.SH NAME +most \- browse or page through a text file +.SH SYNOPSIS + +\fBmost\fR [ \fB-1\fR ] [ \fB-b\fR ] [ \fB-C\fR ] [ \fB-c\fR ] [ \fB-d\fR ] [ \fB-M\fR ] [ \fB-r\fR ] [ \fB-s\fR ] [ \fB-t\fR ] [ \fB-u\fR ] [ \fB-v\fR ] [ \fB-w\fR ] [ \fB-z\fR ] [ \fB+/\fIstring\fB\fR ] [ \fB+\fIline-number\fB\fR ] [ \fB+d\fR ] [ \fB+s\fR ] [ \fB+u\fR ] [ \fB\fIfile...\fB\fR ] + +.SH "DESCRIPTION" +.PP +\fBmost\fR is a paging program that displays, one windowful at a time, +the contents of a file on a terminal. It pauses after each +windowful and prints on the window status line the screen the file +name, current line number, and the percentage of the file so far +displayed. +.PP +Unlike other paging programs, \fBmost\fR is capable of displaying an +arbitrary number of windows as long as each window occupies at least +two screen lines. Each window may contain the same file or a +different file. In addition, each window has its own mode. For +example, one window may display a file with its lines wrapped while +another may be truncating the lines. Windows may be `locked' +together in the sense that if one of the locked windows scrolls, all +locked windows will scroll. \fBmost\fR is also capable of ignoring lines +that are indented beyond a user specified value. This is useful +when viewing computer programs to pick out gross features of the +code. See the `:o' command for a description of this feature. +.PP +In addition to displaying ordinary text files, \fBmost\fR can also +display binary files as well as files with arbitrary ascii +characters. When a file is read into a buffer, \fBmost\fR examines the +first 32 bytes of the file to determine if the file is a binary file +and then switches to the appropriate mode. However, this feature +may be disabled with the -k option. See the description of the -b, +-k, -v, and -t options for further details. +.PP +Text files may contain combinations of underscore and backspace +characters causing a printer to underline or overstrike. When \fBmost\fR +recognizes this, it inserts the appropriate escape sequences to +achieve the desired effect. In addition, some files cause the +printer to overstrike some characters by embedding carriage return +characters in the middle of a line. When this occurs, \fBmost\fR displays +the overstruck character with a bold attribute. This feature +facilitates the reading of UNIX man pages or a document produced by +runoff. In particular, viewing this document with \fBmost\fR should +illustrate this behavior provided that the underline characters +have not been stripped. This may be turned off with the -v option. +.PP +By default, lines with more characters than the terminal width are +not wrapped but are instead truncated. When truncation occurs, this +is indicated by a `$' in the far right column of the terminal +screen. The RIGHT and LEFT arrow keys may be used to view lines +which extend past the margins of the screen. The -w option may be +used to override this feature. When a window is wrapped, the +character `\\' will appear at the right edge of the window. +.PP +Commands are listed below. +.SH "OPTIONS" +.TP +\fB-1\fR +VT100 mode. This is meaningful only +on VMS systems. This option should be used if the terminal is +strictly a VT100. This implies that the terminal does not have the +ability to delete and insert multiple lines. VT102s and above have +this ability. +.TP +\fB-b\fR +Binary mode. Use this switch when +you want to view files containing 8 bit characters. \fBmost\fR will +display the file 16 bytes per line in hexadecimal notation. A +typical line looks like: + +.nf + 01000000 40001575 9C23A020 4000168D ....@..u.#. @... +.fi + +When used with the -v option, the same line looks like: + +.nf + ^A^@^@^@ @^@^U u 9C #A0 @^@^V8D ....@..u.#. @... +.fi +.TP +\fB-C\fR +Disable color support. +.TP +\fB-c\fR +Make searches case-sensitive +.TP +\fB-d\fR +Omit the backslash mark used to denote a wrapped line. +.TP +\fB-M\fR +Disable the use of mmap. +.TP +\fB-r\fR +Default to using regexp searches +.TP +\fB-s\fR +Squeeze-mode. Replace multiple blank +lines with a single blank line. +.TP +\fB-t\fR +Display tabs as ^I. If this option +is immediately followed by an integer, the integer sets the tab +width, e.g., -t4 +.TP +\fB-u\fR +Disable UTF-8 mode even if the +locale dictates it +.TP +\fB+u\fR +Force UTF-8 mode. By default \fBmost\fR +will use the current locale to determine if UTF-8 mode should be +used. The +u and -u switches allow the behavior to be overridden +.TP +\fB-v\fR +Display control characters as in +`^A' for control A. Normally \fBmost\fR does not interpret control +characters. +.TP +\fB-w\fR +Wrap lines +.TP +\fB-z\fR +Disable gunzip-on-the-fly +.TP +\fB+/\fIstring\fB\fR +Start up at the +line containing the first occurrence of string +.TP +\fB+\fIlineno\fB\fR +Start up at the +specified line-number +.TP +\fB+d\fR +This switch should only be used if +you want the option to delete a file while viewing it. This makes +it easier to clean unwanted files out of a directory. The file is +deleted with the interactive key sequence `:D' and then confirming +with `y'. +.TP +\fB+s\fR +Secure Mode-- no edit, cd, shell, +and reading files not already listed on the command line. +.SH "COMMAND USAGE" +.PP +The commands take effect immediately; it is not necessary to type a +carriage return. In the following commands, \fBi\fR is a numerical +argument (1 by default). +.TP +\fBSPACE, CTRL-D, NEXT_SCREEN\fR +Display another windowful, or jump \fBi\fR windowfuls if \fBi\fR is specified. +.TP +\fBRETURN, DOWN_ARROW, V, CTRL-N\fR +Display another line, or \fBi\fR more lines, if specified. +.TP +\fBUP_ARROW, ^, CTRL-P\fR +Display previous line, or \fBi\fR previous +lines, if specified. +.TP +\fBT, ESCAPE<\fR +Move to top of buffer. +.TP +\fBB, ESCAPE>\fR +Move to bottom of buffer. +.TP +\fBRIGHT_ARROW, TAB, >\fR +Scroll window left 60\fBi\fR columns to view +lines that are beyond the right margin of the window. +.TP +\fBLEFT_ARROW, CTRL-B, <\fR +Scroll window right 60\fBi\fR columns to +view lines that are beyond the left margin of the window. +.TP +\fBU, CTRL-U, DELETE, PREV_SCREEN\fR +Skip back \fBi\fR windowfuls and +then print a windowful. +.TP +\fBR, CTRL-R\fR +Redraw the window. +.TP +\fBJ, G\fR +If \fBi\fR is not specified, then prompt for a line +number then jump to that line otherwise just jump to line i. +.TP +\fB%\fR +If \fBi\fR is not specified, then prompt for a percent number +then jump to that percent of the file otherwise just jump to \fBi\fR percent +of the file. +.TP +\fBW, w\fR +If the current screen width is 80, make it 132 and +vice-versa. For other values, this command is ignored. +.TP +\fBQ, CTRL-X CTRL-C, CTRL-K E\fR +Exit from \fBmost\fR\&. On VMS, ^Z also +exits. +.TP +\fBh, CTRL-H, HELP, PF2\fR +Help. Give a description of all the +\fBmost\fR commands. The \fBmost\fR environment variable MOST_HELP must be set +for this to be meaningful. +.TP +\fBf, /, CTRL-F, FIND, GOLD PF3\fR +Prompt for a string and +search forward from the current line for ith distinct line containing +the string. CTRL-G aborts. +.TP +\fB?\fR +Prompt for a string and search backward for the ith +distinct line containing the string. CTRL-G aborts. +.TP +\fBn\fR +Search for the next \fBi\fR lines containing an occurrence of +the last search string in the direction of the previous search. +.TP +\fBm, SELECT, CTRL-@, CTRL-K M, PERIOD\fR +Set a mark on the +current line for later reference. +.TP +\fBINSERT_HERE, CTRL-X CTRL-X, COMMA, CTRL-K RETURN, GOLD PERIOD\fR +Set a mark on the current line but return to previous mark. +This allows the user to toggle back and forth between two positions in +the file. +.TP +\fBl, L\fR +Toggle locking for this window. The window is locked +if there is a `*' at the left edge of the status line. Windows locked +together, scroll together. +.TP +\fBCTRL-X 2, CTRL-W 2, GOLD X\fR +Split this window in half. +.TP +\fBCTRL-X o, CTRL-W o, o, GOLDUP, GOLDDOWN\fR +Move to other window. +.TP +\fBCTRL-X 0, CTRL-W 0, GOLD V\fR +Delete this window. +.TP +\fBCTRL-X 1, CTRL-W 1, GOLD O\fR +Delete all other windows, leaving +only one window. +.TP +\fBE, e\fR +Edit this file. +.TP +\fB$, ESC $\fR +This is system dependent. On VMS, this causes \fBmost\fR +to spawn a subprocess. When the user exits the process, \fBmost\fR is +resumed. On UNIX systems, \fBmost\fR simply suspends itself. +.TP +\fB:n\fR +Skip to the next filename given in the command line. Use +the arrow keys to scroll forward or backward through the file list. +`Q' quits \fBmost\fR and any other key selects the given file. +.TP +\fB:c\fR +Toggle case sensitive search. +.TP +\fB:D\fR +Delete current file. This command is only meaningful +with the +d switch. +.TP +\fB:o, :O\fR +Toggle various options. With this key sequence, \fBmost\fR +displays a prompt asking the user to hit one of: bdtvw. The `b', `t', +`v', and `w' options have the same meaning as the command line +switches. For example, the `w' option will toggle wrapping on and off +for the current window. + +The `d' option must be used with a prefix integer i. All lines +indented beyond \fBi\fR columns will not be displayed. For example, +consider the fragment: +.TP +\fB\fR + +.nf + int main(int argc, char **argv) + { + int i; + for (i = 0; i < argc, i++) + { + fprintf(stdout,"%i: %s\\n",i,argv[i]); + } + return 0; + } +.fi +The key sequence `1:od' will cause \fBmost\fR to display the file ignoring +all lines indented beyond the first column. So for the example above, +\fBmost\fR would display: + +.nf + int main(int argc, char **argv)... + } +.fi +where the `...' indicates lines that follow are not displayed. +.SH "HINTS" +.PP +CTRL-G aborts the commands requiring the user to type something in +at a prompt. The back-quote key has a special meaning here. It is +used to quote certain characters. This is useful when search for +the occurrence of a string with a control character or a string at +the beginning of a line. In the latter case, to find the occurrence +of `The' at the beginning of a line, enter `^JThe where ` quotes the +CTRL-J. +.SH "ENVIRONMENT" +.PP +\fBmost\fR uses the following environment variables: +.TP +\fBMOST_SWITCHES\fR +This variable sets commonly used switches. +For example, some people prefer to use \fBmost\fR with the -s option so that +excess blank lines are not displayed. On VMS this is normally done +done in the login.com through the line: +.TP +\fB\fR + +.nf + $ define MOST_SWITCHES "-s" +.fi +.TP +\fBMOST_EDITOR, SLANG_EDITOR\fR +Either of these environment +variables specify an editor for \fBmost\fR to invoke to edit a file. The +value can contain %s and %d formatting descriptors that represent the +file name and line number, respectively. For example, if JED is +your editor, then set MOST_EDITOR to 'jed %s -g %d'. +.TP +\fBMOST_HELP\fR +This variable may be used to specify an alternate +help file. +.TP +\fBMOST_INITFILE\fR +Set this variable to specify the +initialization file to load during startup. The default action is to +load the system configuration file and then a personal configuration +file called .mostrc on Unix, and most.rc on other systems. +.SH "CONFIGURATION FILE SYNTAX" +.PP +When \fBmost\fR starts up, it tries to read a system configuration file and +then a personal configuration file. These files may be used to specify +key-bindings and colors. +.PP +To bind a key to a particular function use the syntax: + +.nf + setkey function-name key-sequence +.fi +.PP +The setkey command requires two arguments. The function-name argument +specifies the function that is to be executed as a response to the +keys specified by the key-sequence argument are pressed. For example, + +.nf + setkey "up" "^P" +.fi +.PP +indicates that when Ctrl-P is pressed then the function up is to be executed. +.PP +Sometimes, it is necessary to first unbind a key-sequence before +rebinding it in order via the unsetkey function: + +.nf + unsetkey "^F" +.fi +.PP +Colors may be defined through the use of the color keyword in the the +configuration file using the syntax: + +.nf + color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR +.fi +.PP +Here, OBJECT-NAME can be any one of the following items: + +.nf + status -- the status line + underline -- underlined text + overstrike -- overstruck text + normal -- anything else +.fi +.PP +See the sample configuration files for more information. +.SH "BUGS" +.PP +Almost all of the known bugs or limitations of \fBmost\fR are due to a +desire to read and interpret control characters in files. One +problem concerns the use of backspace characters to underscore or +overstrike other characters. \fBmost\fR makes an attempt to use terminal +escape sequences to simulate this behavior. One side effect is the +one does not always get what one expects when scrolling right and left +through a file. When in doubt, use the -v and -b options of \fBmost\fR\&. +.PP +The regular-expression searches may fail to find strings that involve +backspace/underscore used for highlighting. The regular-expression +syntax is described in the S-Lang Library documentation. +.SH "AUTHOR" +.PP +John E. Davis +.SH "ACKNOWLEDGEMENTS" +.PP +Over the years, many people have contributed to \fBmost\fR in one way or +another, e.g., via code patches, bug-fixes, comments, or criticisms. +I am particularly grateful to the very early adopters of the program +who took a chance with a fledgling software project headed by someone +learning the underlying language. These include: +.PP +Mats Akerberg, Henk D. Davids, Rex O. Livingston, and Mark Pizzolato +contributed to the early VMS versions of \fBmost\fR\&. In particular, Mark +worked on it to get it ready for DECUS. +.PP +Foteos Macrides adapted \fBmost\fR for use in cswing and gopher. A few +features of the present version of \fBmost\fR was inspired from his work. +.PP +I am grateful to Robert Mills for re-writing the search routines to +use regular expressions. +.PP +Sven Oliver Moll came up with the idea of automatic detection of +zipped files. +.PP +I would also like to thank Shinichi Hama for his valuable criticisms +of \fBmost\fR\&. +.PP +Javier Kohen was instrumental in the support for UTF-8. +.PP +Thanks to David W. Sanderson for adapting the early documentation to +nroff man page source format. diff --git a/vendor/most-5.1.0/doc/most.hlp b/vendor/most-5.1.0/doc/most.hlp new file mode 100644 index 0000000..eaa0528 --- /dev/null +++ b/vendor/most-5.1.0/doc/most.hlp @@ -0,0 +1,347 @@ +1 MOST + browse or page through a text file + +2 Synopsis + most [-Cbstvwz] [+lineno] [+c] [+d] [+/string] [filename...] + +2 Description + most is a paging program that displays, one windowful at a time, the + contents of a file on a terminal. It pauses after each windowful and + prints on the window status line the screen the file name, current + line number, and the percentage of the file so far displayed. + + Unlike other paging programs, most is capable of displaying an + arbitrary number of windows as long as each window occupies at least + two screen lines. Each window may contain the same file or a + different file. In addition, each window has its own mode. For + example, one window may display a file with its lines wrapped while + another may be truncating the lines. Windows may be `locked' together + in the sense that if one of the locked windows scrolls, all locked + windows will scroll. most is also capable of ignoring lines that are + indented beyond a user specified value. This is useful when viewing + computer programs to pick out gross features of the code. See the + `:o' command for a description of this feature. + + In addition to displaying ordinary text files, most can also display + binary files as well as files with arbitrary ascii characters. When a + file is read into a buffer, most examines the first 32 bytes of the + file to determine if the file is a binary file and then switches to + the appropriate mode. However, this feature may be disabled with the + -k option. See the description of the -b, -k, -v, and -t options for + further details. + + Text files may contain combinations of underscore and backspace + characters causing a printer to underline or overstrike. When most + recognizes this, it inserts the appropriate escape sequences to + achieve the desired effect. In addition, some files cause the printer + to overstrike some characters by embedding carriage return characters + in the middle of a line. When this occurs, most displays the + overstruck character with a bold attribute. This feature facilitates + the reading of UNIX man pages or a document produced by runoff. In + particular, viewing this document with most should illustrate this + behavior provided that the underline characters have not been + stripped. This may be turned off with the -v option. + + By default, lines with more characters than the terminal width are not + wrapped but are instead truncated. When truncation occurs, this is + indicated by a `$' in the far right column of the terminal screen. + The RIGHT and LEFT arrow keys may be used to view lines which extend + past the margins of the screen. The -w option may be used to override + this feature. When a window is wrapped, the character `\' will appear + at the right edge of the window. + + Commands are listed below. + +2 Options + + -1 VT100 mode. This is meaningful only on VMS systems. This option + should be used if the terminal is strictly a VT100. This implies + that the terminal does not have the ability to delete and insert + multiple lines. VT102s and above have this ability. + + -b Binary mode. Use this switch when you want to view files + containing 8 bit characters. most will display the file 16 bytes + per line in hexidecimal notation. A typical line looks like: + + + 01000000 40001575 9C23A020 4000168D ....@..u.#. @... + + When used with the -v option, the same line looks like: + + + ^A^@^@^@ @^@^U u 9C #A0 @^@^V8D ....@..u.#. @... + + -k `Kanji' option. Ordinarily, most will go into binary mode if the + file consists of non-ascii characters. Sometimes this feature is + not desirable since some terminals have a special interpretation + for eight bit characters. The -k option turns off the automatic + sensing. + + -C Disable color support. + + -s Squeeze. Replace multiple blank lines with a single blank line. + + -z option turns off gunzip-on-the-fly. + + -v Display control characters as in `^A' for control A. Normally + most does not interpret control characters. + + -t Display tabs as `^I'. This option is meaningful only when used + with the -v option. +lineno Start up at lineno. + + +c Make search case sensitive. By default, they are not. + + +d This switch should only be used if you want the option to delete + a file while viewing it. This makes it easier to clean unwanted + files out of a directory. The file is deleted with the + interactive key sequence `:D' and then confirming with `y'. + + +/string + Start up at the line containing the first occurrence of string. + +2 Command_usage + The commands take effect immediately; it is not necessary to type a + carriage return. + + In the following commands, i is a numerical argument (1 by default). + + SPACE, CTRL-D, NEXT_SCREEN + Display another windowful, or jump i windowfuls if i is specified. + + RETURN, DOWN_ARROW, V, CTRL-N + Display another line, or i more lines, if specified. + + UP_ARROW, ^, CTRL-P + Display previous line, or i previous lines, if specified. + + T, ESCAPE< + Move to top of buffer. + + B, ESCAPE> + Move to bottom of buffer. + + RIGHT_ARROW, TAB, > + Scroll window left 60i columns to view lines that are beyond the + right margin of the window. + + LEFT_ARROW, CTRL-B, < + Scroll window right 60i columns to view lines that are beyond the + left margin of the window. + + U, CTRL-U, DELETE, PREV_SCREEN + Skip back i windowfuls and then print a windowful. + + R, CTRL-R + Redraw the window. + + J, G If i is not specified, then prompt for a line number then jump to + that line otherwise just jump to line i. + + % If i is not specified, then prompt for a percent number then jump + to that percent of the file otherwise just jump to i percent of + the file. + + W, w If the current screen width is 80, make it 132 and vice-versa. + For other values, this command is ignored. + + Q, CTRL-X CTRL-C, CTRL-K E + Exit from most. On VMS, ^Z also exits. + + h, CTRL-H, HELP, + Help. Give a description of all the most commands. The most + environment variable MOST_HELP must be set for this to be + meaningful. + + f, /, CTRL-F, FIND, GOLD PF3 + Prompt for a string and search forward from the current line for + ith distinct line containing the string. CTRL-G aborts. + + ? Prompt for a string and search backward for the ith distinct line + containing the string. CTRL-G aborts. + + n Search for the next i lines containing an occurrence of the last + search string in the direction of the previous search. + + m, SELECT, CTRL-@, CTRL-K M, PERIOD + Set a mark on the current line for later reference. + + INSERT_HERE, CTRL-X CTRL-X, COMMA, CTRL-K RETURN, GOLD PERIOD + Set a mark on the current line but return to previous mark. This + allows the user to toggle back and forth between two positions in + the file. + + l, L Toggle locking for this window. The window is locked if there is + a `*' at the left edge of the status line. Windows locked + together, scroll together. + + CTRL-X 2, CTRL-W 2, GOLD X + Split this window in half. + + CTRL-X o, CTRL-W o, o, + Move to other window. + + CTRL-X 0, CTRL-W 0, GOLD V + Delete this window. + + CTRL-X 1, CTRL-W 1, GOLD O + Delete all other windows, leaving only one window. + + E, e Edit this file. + + $, ESC $ + This is system dependent. On VMS, this causes most to spawn a + subprocess. When the user exits the process, most is resumed. + On UNIX systems, most simply suspends itself. + + :n Skip to the next filename given in the command line. Use the + arrow keys to scroll forward or backward through the file list. + `Q' quits most and any other key selects the given file. + + :c Toggle case sensitive search. + + :D Delete current file. This command is only meaningful with the +d + switch. + + :o, :O + Toggle various options. With this key sequence, most displays a + prompt asking the user to hit one of: bdtvw. The `b', `t', `v', + and `w' options have the same meaning as the command line + switches. For example, the `w' option will toggle wrapping on + and off for the current window. + + The `d' option must be used with a prefix integer i. All lines + indented beyond i columns will not be displayed. For example, + consider the fragment: + + + int main(int argc, char **argv) + { + int i; + + for (i = 0; i < argc, i++) + { + fprintf(stdout,"%i: %s\n",i,argv[i]); + } + return 0; + } + + The key sequence `1:od' will cause most to display the file + ignoring all lines indented beyond the first column. So for the + example above, most would display: + + + int main(int argc, char **argv)... + } + + where the `...' indicates lines follow are not displayed. + +2 Hints + CTRL-G aborts the commands requiring the user to type something in at + a prompt. The backquote key has a special meaning here. It is used + to quote certain characters. This is useful when search for the + occurrence of a string with a control character or a string at the + beginning of a line. In the latter case, to find the occurrence of + `The' at the beginning of a line, enter `^JThe where ` quotes the + CTRL-J. + +2 Environment + most uses the following environment variables: + + MOST_SWITCHES + This variable sets commonly used switches. For example, some + people prefer to use most with the -s option so that excess blank + lines are not displayed. On VMS this is normally done done in + the login.com through the line: + + $ define MOST_SWITCHES "-s" + + MOST_EDITOR, SLANG_EDITOR + Either of these environment variables specify an editor for most + to invoke to edit a file. The value can contain %s and %d + formatting descriptors that represent the file name and line + number, respectively. For example, if JED is your editor, then + set MOST_EDITOR to 'jed %s -g %d'. + + MOST_HELP + This variable may be used to specify an alternate help file. + + MOST_INITFILE + Set this variable to specify the initialization file to load + during startup. The default action is to load the system + configuration file and then a personal configuration file called + .mostrc on Unix, and most.rc on other systems. + +2 Configuration_file_syntax + When most starts up, it tries to read a system confiuration file and + then a personal configuration file. These files may be used to + specify keybind ings and colors. + + To bind a key to a particular function use the syntax: + + setkey function-name key-sequence + + The setkey command requires two arguments. The function-name argument + specifies the function that is to be executed as a response to the + keys specified by the key-sequence argument are pressed. For example, + + setkey "up" "^P" + + indicates that when Ctrl-P is pressed then the function up is to be + executed. + + Sometimes, it is necessary to first unbind a key-sequence before + rebinding it in order via the unsetkey function: + + unsetkey "^F" + + Colors may be defined through the use of the color keyword in the the + configuration file using the syntax: + + color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR + + Here, OBJECT-NAME can be any one of the following items: + + status -- the status line + underline -- underlined text + overstrike -- overstriked text + normal -- anything else + + See the sample configuration files for more information. + +2 Bugs + Almost all of the known bugs or limitations of most are due to a + desire to read and interpret control characters in files. One problem + concerns the use of backspace characters to underscore or overstrike + other characters. most makes an attempt to use terminal escape + sequences to simulate this behavior. One side effect is the one does + not always get what one expects when scrolling right and left through + a file. When in doubt, use the -v and -b options of most. + +2 Author + John E. Davis + davis@space.mit.edu + +2 Acknowledgements + I would like to thank the users of most for valuable comments and + criticisms. I would especially like to thank those individuals who + have contributed code to most. + + Mats Akerberg, Henk D. Davids, Rex O. Livingston, and Mark Pizzolato + contributed to the early VMS versions of most. In particular, Mark + worked on it to get it ready for DECUS. + + Foteos Macrides adapted most for use in cswing + and gopher. A few features of the present version of most was + inspired from his work. + + I am grateful to Robert Mills for re-writing the + search routines to use regular expressions. + + Sven Oliver Moll came up with the idea + of automatic detection of zipped files. + + I would also like to thank Shinichi Hama for his valuable criticisms + of most. + + Thanks to David W. Sanderson (dws@cs.wisc.edu) for adapting the + documentation to nroff man page source format. diff --git a/vendor/most-5.1.0/doc/most.rc b/vendor/most-5.1.0/doc/most.rc new file mode 100644 index 0000000..1c32db5 --- /dev/null +++ b/vendor/most-5.1.0/doc/most.rc @@ -0,0 +1,129 @@ +% Color settings + +color normal lightgray black +color status yellow blue +color underline brightgreen black +color overstrike brightred black + +% Keybindings + +%setkey digit_arg dig +%setkey digit_arg esc dig +%setkey digit_arg gold dig +%setkey column_left < Not Set > +%setkey column_right < Not Set > +setkey page_down " " +setkey suspend "$" +setkey goto_percent "%" +setkey goto_mark "," +setkey search_forward "/" +setkey extended_key ":" +setkey page_left "<" +setkey page_right ">" +setkey search_backward "?" +setkey eob "B" +setkey page_down "D" +setkey edit "E" +setkey search_forward "F" +setkey goto_line "G" +setkey help "H" +setkey goto_line "J" +setkey toggle_lock "L" +setkey set_mark "M" +setkey find_next "N" +setkey other_window "O" +setkey exit "Q" +setkey redraw "R" +setkey search_forward "S" +setkey bob "T" +setkey page_up "U" +setkey down "V" +setkey toggle_width "W" +setkey exit "X" +setkey suspend "\033$" +setkey bob "\033<" +setkey eob "\033>" +setkey up "\033OA" +setkey down "\033OB" +setkey page_right "\033OC" +setkey page_left "\033OD" +setkey exit "\033OPE" +setkey one_window "\033OPO" +setkey exit "\033OPQ" +setkey suspend "\033OPS" +setkey delete_window "\033OPV" +setkey two_windows "\033OPX" +setkey edt_find "\033OP\033OR" +setkey goto_mark "\033OP\033On" +setkey eob "\033OP\033Ot" +setkey bob "\033OP\033Ou" +setkey other_window "\033OP\033[A" +setkey other_window "\033OP\033[B" +setkey page_right "\033OP\033[C" +setkey page_left "\033OP\033[D" +setkey help "\033OQ" +setkey edt_find_next "\033OR" +setkey set_mark "\033On" +setkey edt_line "\033Op" +setkey edt_forward "\033Ot" +setkey edt_backward "\033Ou" +setkey edt_page "\033Ox" +setkey page_up "\033V" +setkey search_forward "\033[1~" +setkey goto_mark "\033[2~" +setkey help "\033[28~" +setkey set_mark "\033[4~" +setkey page_up "\033[5~" +setkey page_down "\033[6~" +setkey up "\033[A" +setkey down "\033[B" +setkey page_right "\033[C" +setkey page_left "\033[D" +setkey page_right "\t" +setkey up "^" +setkey page_up "^?" +setkey set_mark "^@" +setkey page_down "^D" +setkey search_forward "^F" +setkey help "^H" +setkey exit "^KE" +setkey find_file "^KG" +setkey set_mark "^K^B" +setkey goto_mark "^K^J" +setkey goto_mark "^K^M" +setkey redraw "^L" +setkey down "^M" +setkey down "^N" +setkey up "^P" +setkey redraw "^R" +setkey show_time "^T" +setkey page_up "^U" +setkey page_down "^V" +setkey delete_window "^W0" +setkey one_window "^W1" +setkey two_windows "^W2" +setkey other_window "^WO" +setkey delete_window "^X0" +setkey one_window "^X1" +setkey two_windows "^X2" +setkey other_window "^XO" +setkey exit "^X^C" +setkey find_file "^X^F" +setkey suspend "^Z" +setkey eob "b" +setkey page_down "d" +setkey edit "e" +setkey search_forward "f" +setkey goto_line "g" +setkey goto_line "j" +setkey toggle_lock "l" +setkey set_mark "m" +setkey find_next "n" +setkey other_window "o" +setkey exit "q" +setkey redraw "r" +setkey search_forward "s" +setkey bob "t" +setkey down "v" +setkey toggle_width "w" +setkey exit "x" diff --git a/vendor/most-5.1.0/doc/most.txt b/vendor/most-5.1.0/doc/most.txt new file mode 100644 index 0000000..808a01c --- /dev/null +++ b/vendor/most-5.1.0/doc/most.txt @@ -0,0 +1,421 @@ + most + +Name + + most -- browse or page through a text file + +Synopsis + + most [-1] [-b] [-C] [-c] [-d] [-M] [-r] [-s] [-t] [-u] [-v] + [-w] [-z] [+/string] [+line-number] [+d] [+s] [+u] [file...] + +DESCRIPTION + + most is a paging program that displays, one windowful at a + time, the contents of a file on a terminal. It pauses after + each windowful and prints on the window status line the screen + the file name, current line number, and the percentage of the + file so far displayed. + + Unlike other paging programs, most is capable of displaying an + arbitrary number of windows as long as each window occupies at + least two screen lines. Each window may contain the same file + or a different file. In addition, each window has its own mode. + For example, one window may display a file with its lines + wrapped while another may be truncating the lines. Windows may + be `locked' together in the sense that if one of the locked + windows scrolls, all locked windows will scroll. most is also + capable of ignoring lines that are indented beyond a user + specified value. This is useful when viewing computer programs + to pick out gross features of the code. See the `:o' command + for a description of this feature. + + In addition to displaying ordinary text files, most can also + display binary files as well as files with arbitrary ascii + characters. When a file is read into a buffer, most examines + the first 32 bytes of the file to determine if the file is a + binary file and then switches to the appropriate mode. However, + this feature may be disabled with the -k option. See the + description of the -b, -k, -v, and -t options for further + details. + + Text files may contain combinations of underscore and backspace + characters causing a printer to underline or overstrike. When + most recognizes this, it inserts the appropriate escape + sequences to achieve the desired effect. In addition, some + files cause the printer to overstrike some characters by + embedding carriage return characters in the middle of a line. + When this occurs, most displays the overstruck character with a + bold attribute. This feature facilitates the reading of UNIX + man pages or a document produced by runoff. In particular, + viewing this document with most should illustrate this behavior + provided that the underline characters have not been stripped. + This may be turned off with the -v option. + + By default, lines with more characters than the terminal width + are not wrapped but are instead truncated. When truncation + occurs, this is indicated by a `$' in the far right column of + the terminal screen. The RIGHT and LEFT arrow keys may be used + to view lines which extend past the margins of the screen. The + -w option may be used to override this feature. When a window + is wrapped, the character `\' will appear at the right edge of + the window. + + Commands are listed below. + +OPTIONS + + -1 + VT100 mode. This is meaningful only on VMS systems. This + option should be used if the terminal is strictly a + VT100. This implies that the terminal does not have the + ability to delete and insert multiple lines. VT102s and + above have this ability. + + -b + Binary mode. Use this switch when you want to view files + containing 8 bit characters. most will display the file + 16 bytes per line in hexadecimal notation. A typical + line looks like: + + 01000000 40001575 9C23A020 4000168D ....@..u.#. @... + + When used with the -v option, the same line looks like: + + ^A^@^@^@ @^@^U u 9C #A0 @^@^V8D ....@..u.#. @... + + -C + Disable color support. + + -c + Make searches case-sensitive + + -d + Omit the backslash mark used to denote a wrapped line. + + -M + Disable the use of mmap. + + -r + Default to using regexp searches + + -s + Squeeze-mode. Replace multiple blank lines with a single + blank line. + + -t + Display tabs as ^I. If this option is immediately + followed by an integer, the integer sets the tab width, + e.g., -t4 + + -u + Disable UTF-8 mode even if the locale dictates it + + +u + Force UTF-8 mode. By default most will use the current + locale to determine if UTF-8 mode should be used. The +u + and -u switches allow the behavior to be overridden + + -v + Display control characters as in `^A' for control A. + Normally most does not interpret control characters. + + -w + Wrap lines + + -z + Disable gunzip-on-the-fly + + +/string + Start up at the line containing the first occurrence of + string + + +lineno + Start up at the specified line-number + + +d + This switch should only be used if you want the option + to delete a file while viewing it. This makes it easier + to clean unwanted files out of a directory. The file is + deleted with the interactive key sequence `:D' and then + confirming with `y'. + + +s + Secure Mode-- no edit, cd, shell, and reading files not + already listed on the command line. + +COMMAND USAGE + + The commands take effect immediately; it is not necessary to + type a carriage return. In the following commands, i is a + numerical argument (1 by default). + + SPACE, CTRL-D, NEXT_SCREEN + Display another windowful, or jump i windowfuls if i is + specified. + + RETURN, DOWN_ARROW, V, CTRL-N + Display another line, or i more lines, if specified. + + UP_ARROW, ^, CTRL-P + Display previous line, or i previous lines, if + specified. + + T, ESCAPE< + Move to top of buffer. + + B, ESCAPE> + Move to bottom of buffer. + + RIGHT_ARROW, TAB, > + Scroll window left 60i columns to view lines that are + beyond the right margin of the window. + + LEFT_ARROW, CTRL-B, < + Scroll window right 60i columns to view lines that are + beyond the left margin of the window. + + U, CTRL-U, DELETE, PREV_SCREEN + Skip back i windowfuls and then print a windowful. + + R, CTRL-R + Redraw the window. + + J, G + If i is not specified, then prompt for a line number + then jump to that line otherwise just jump to line i. + + % + If i is not specified, then prompt for a percent number + then jump to that percent of the file otherwise just + jump to i percent of the file. + + W, w + If the current screen width is 80, make it 132 and + vice-versa. For other values, this command is ignored. + + Q, CTRL-X CTRL-C, CTRL-K E + Exit from most. On VMS, ^Z also exits. + + h, CTRL-H, HELP, PF2 + Help. Give a description of all the most commands. The + most environment variable MOST_HELP must be set for this + to be meaningful. + + f, /, CTRL-F, FIND, GOLD PF3 + Prompt for a string and search forward from the current + line for ith distinct line containing the string. CTRL-G + aborts. + + ? + Prompt for a string and search backward for the ith + distinct line containing the string. CTRL-G aborts. + + n + Search for the next i lines containing an occurrence of + the last search string in the direction of the previous + search. + + m, SELECT, CTRL-@, CTRL-K M, PERIOD + Set a mark on the current line for later reference. + + INSERT_HERE, CTRL-X CTRL-X, COMMA, CTRL-K RETURN, GOLD PERIOD + Set a mark on the current line but return to previous + mark. This allows the user to toggle back and forth + between two positions in the file. + + l, L + Toggle locking for this window. The window is locked if + there is a `*' at the left edge of the status line. + Windows locked together, scroll together. + + CTRL-X 2, CTRL-W 2, GOLD X + Split this window in half. + + CTRL-X o, CTRL-W o, o, GOLDUP, GOLDDOWN + Move to other window. + + CTRL-X 0, CTRL-W 0, GOLD V + Delete this window. + + CTRL-X 1, CTRL-W 1, GOLD O + Delete all other windows, leaving only one window. + + E, e + Edit this file. + + $, ESC $ + This is system dependent. On VMS, this causes most to + spawn a subprocess. When the user exits the process, + most is resumed. On UNIX systems, most simply suspends + itself. + + :n + Skip to the next filename given in the command line. Use + the arrow keys to scroll forward or backward through the + file list. `Q' quits most and any other key selects the + given file. + + :c + Toggle case sensitive search. + + :D + Delete current file. This command is only meaningful + with the +d switch. + + :o, :O + Toggle various options. With this key sequence, most + displays a prompt asking the user to hit one of: bdtvw. + The `b', `t', `v', and `w' options have the same meaning + as the command line switches. For example, the `w' + option will toggle wrapping on and off for the current + window. + + The `d' option must be used with a prefix integer i. All + lines indented beyond i columns will not be displayed. + For example, consider the fragment: + + int main(int argc, char **argv) + { + int i; + for (i = 0; i < argc, i++) + { + fprintf(stdout,"%i: %s\n",i,argv[i]); + } + return 0; + } + + The key sequence `1:od' will cause most to display the + file ignoring all lines indented beyond the first + column. So for the example above, most would display: + + int main(int argc, char **argv)... + } + + where the `...' indicates lines that follow are not + displayed. + +HINTS + + CTRL-G aborts the commands requiring the user to type something + in at a prompt. The back-quote key has a special meaning here. + It is used to quote certain characters. This is useful when + search for the occurrence of a string with a control character + or a string at the beginning of a line. In the latter case, to + find the occurrence of `The' at the beginning of a line, enter + `^JThe where ` quotes the CTRL-J. + +ENVIRONMENT + + most uses the following environment variables: + + MOST_SWITCHES + This variable sets commonly used switches. For example, + some people prefer to use most with the -s option so + that excess blank lines are not displayed. On VMS this + is normally done done in the login.com through the line: + + $ define MOST_SWITCHES "-s" + + MOST_EDITOR, SLANG_EDITOR + Either of these environment variables specify an editor + for most to invoke to edit a file. The value can contain + %s and %d formatting descriptors that represent the file + name and line number, respectively. For example, if JED + is your editor, then set MOST_EDITOR to 'jed %s -g %d'. + + MOST_HELP + This variable may be used to specify an alternate help + file. + + MOST_INITFILE + Set this variable to specify the initialization file to + load during startup. The default action is to load the + system configuration file and then a personal + configuration file called .mostrc on Unix, and most.rc + on other systems. + +CONFIGURATION FILE SYNTAX + + When most starts up, it tries to read a system configuration + file and then a personal configuration file. These files may be + used to specify key-bindings and colors. + + To bind a key to a particular function use the syntax: + setkey function-name key-sequence + + The setkey command requires two arguments. The function-name + argument specifies the function that is to be executed as a + response to the keys specified by the key-sequence argument are + pressed. For example, + setkey "up" "^P" + + indicates that when Ctrl-P is pressed then the function up is + to be executed. + + Sometimes, it is necessary to first unbind a key-sequence + before rebinding it in order via the unsetkey function: + unsetkey "^F" + + Colors may be defined through the use of the color keyword in + the the configuration file using the syntax: + color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR + + Here, OBJECT-NAME can be any one of the following items: + status -- the status line + underline -- underlined text + overstrike -- overstruck text + normal -- anything else + + See the sample configuration files for more information. + +BUGS + + Almost all of the known bugs or limitations of most are due to + a desire to read and interpret control characters in files. One + problem concerns the use of backspace characters to underscore + or overstrike other characters. most makes an attempt to use + terminal escape sequences to simulate this behavior. One side + effect is the one does not always get what one expects when + scrolling right and left through a file. When in doubt, use the + -v and -b options of most. + + The regular-expression searches may fail to find strings that + involve backspace/underscore used for highlighting. The + regular-expression syntax is described in the S-Lang Library + documentation. + +AUTHOR + + John E. Davis + +ACKNOWLEDGEMENTS + + Over the years, many people have contributed to most in one way + or another, e.g., via code patches, bug-fixes, comments, or + criticisms. I am particularly grateful to the very early + adopters of the program who took a chance with a fledgling + software project headed by someone learning the underlying + language. These include: + + Mats Akerberg, Henk D. Davids, Rex O. Livingston, and Mark + Pizzolato contributed to the early VMS versions of most. In + particular, Mark worked on it to get it ready for DECUS. + + Foteos Macrides adapted most for use in cswing and gopher. A + few features of the present version of most was inspired from + his work. + + I am grateful to Robert Mills for re-writing the search + routines to use regular expressions. + + Sven Oliver Moll came up with the idea of automatic detection + of zipped files. + + I would also like to thank Shinichi Hama for his valuable + criticisms of most. + + Javier Kohen was instrumental in the support for UTF-8. + + Thanks to David W. Sanderson for adapting the early + documentation to nroff man page source format. diff --git a/vendor/most-5.1.0/doc/tm/Makefile b/vendor/most-5.1.0/doc/tm/Makefile new file mode 100644 index 0000000..f2b0f9c --- /dev/null +++ b/vendor/most-5.1.0/doc/tm/Makefile @@ -0,0 +1,27 @@ +# -*- sh -*- +# +# To create the SGML files, you will need to install the tmexpand +# package. See http://www.jedsoft.org/ for more information. +# +TM2SGML = tmexpand +SGML2HTML = sgml2html +DOCBOOK2MAN = docbook2man +DOCBOOK2TXT = docbook2txt + +all: most.1 most.txt + +most.1: most.sgml + $(DOCBOOK2MAN) most.sgml +most.sgml: most.tm + $(TM2SGML) most.tm most.sgml +most.txt: most.sgml + $(DOCBOOK2TXT) most.sgml +view: most.1 + nroff -man most.1 | most +#---------------------------------------------------------------------------- +clean: + -rm -f *~ *-error manpage.refs manpage.links +distclean: clean + -rm -f most.1 most.sgml +install: most.1 most.txt + mv most.1 most.txt .. diff --git a/vendor/most-5.1.0/doc/tm/most.tm b/vendor/most-5.1.0/doc/tm/most.tm new file mode 100644 index 0000000..77318ba --- /dev/null +++ b/vendor/most-5.1.0/doc/tm/most.tm @@ -0,0 +1,427 @@ +#i docbook_man.tm + +#d man_options_entry#2 \varlistentry{\term{$1}}{\p $2 \p-end}\__newline__ + +#d arg#1 $1\__newline__ +#d desc-list \variablelist +#d desc-item#2 \varlistentry{\term{$1}}{\p $2 \p-end}\__newline__ +#d desc-item-continue \p +#d desc-item-continue-end +#d desc-list-end \variablelist-end + +#d envdesc#2 \varlistentry{\term{$1}}{\p $2 \p-end}\__newline__ +#d envdesc-begin \variablelist +#d envdesc-end \variablelist-end +#d envdesc-verb-begin +#d envdesc-verb-end + +#d most \command{most} +#d slang \literal{S-Lang} +#d lit#1 \literal{$1} +#d underline#1 $1 +#d i \underline{i} + +\manpage{most}{1}{browse or page through a text file} +\mansynopsis{most}{ + \arg{\option{-1}} + \arg{\option{-b}} + \arg{\option{-C}} + \arg{\option{-c}} + \arg{\option{-d}} + \arg{\option{-M}} + \arg{\option{-r}} + \arg{\option{-s}} + \arg{\option{-t}} + \arg{\option{-u}} + \arg{\option{-v}} + \arg{\option{-w}} + \arg{\option{-z}} + \arg{\option{+/\replaceable{string}}} + \arg{\option{+\replaceable{line-number}}} + \arg{\option{+d}} + \arg{\option{+s}} + \arg{\option{+u}} + \arg{\option{\replaceable{file...}}} +} + +\refsect1{DESCRIPTION} + \p + \most is a paging program that displays, one windowful at a time, + the contents of a file on a terminal. It pauses after each + windowful and prints on the window status line the screen the file + name, current line number, and the percentage of the file so far + displayed. + \pp + Unlike other paging programs, \most is capable of displaying an + arbitrary number of windows as long as each window occupies at least + two screen lines. Each window may contain the same file or a + different file. In addition, each window has its own mode. For + example, one window may display a file with its lines wrapped while + another may be truncating the lines. Windows may be `locked' + together in the sense that if one of the locked windows scrolls, all + locked windows will scroll. \most is also capable of ignoring lines + that are indented beyond a user specified value. This is useful + when viewing computer programs to pick out gross features of the + code. See the `:o' command for a description of this feature. +\pp + In addition to displaying ordinary text files, \most can also + display binary files as well as files with arbitrary ascii + characters. When a file is read into a buffer, \most examines the + first 32 bytes of the file to determine if the file is a binary file + and then switches to the appropriate mode. However, this feature + may be disabled with the -k option. See the description of the -b, + -k, -v, and -t options for further details. +\pp + Text files may contain combinations of underscore and backspace + characters causing a printer to underline or overstrike. When \most + recognizes this, it inserts the appropriate escape sequences to + achieve the desired effect. In addition, some files cause the + printer to overstrike some characters by embedding carriage return + characters in the middle of a line. When this occurs, \most displays + the overstruck character with a bold attribute. This feature + facilitates the reading of UNIX man pages or a document produced by + runoff. In particular, viewing this document with \most should + illustrate this behavior provided that the underline characters + have not been stripped. This may be turned off with the -v option. +\pp + By default, lines with more characters than the terminal width are + not wrapped but are instead truncated. When truncation occurs, this + is indicated by a `$' in the far right column of the terminal + screen. The RIGHT and LEFT arrow keys may be used to view lines + which extend past the margins of the screen. The -w option may be + used to override this feature. When a window is wrapped, the + character `\\' will appear at the right edge of the window. +\pp + Commands are listed below. +\p-end +\refsect1-end + +\refsect1{OPTIONS} + \variablelist + + \man_options_entry{\option{-1}}{VT100 mode. This is meaningful only + on VMS systems. This option should be used if the terminal is + strictly a VT100. This implies that the terminal does not have the + ability to delete and insert multiple lines. VT102s and above have + this ability.} + + \man_options_entry{\option{-b}}{ Binary mode. Use this switch when + you want to view files containing 8 bit characters. \most will + display the file 16 bytes per line in hexadecimal notation. A + typical line looks like: +#v+ + 01000000 40001575 9C23A020 4000168D ....@..u.#. @... +#v- + \pp + When used with the -v option, the same line looks like: +#v+ + ^A^@^@^@ @^@^U u 9C #A0 @^@^V8D ....@..u.#. @... +#v- + } + + \man_options_entry{\option{-C}}{Disable color support.} + \man_options_entry{\option{-c}}{Make searches case-sensitive} + \man_options_entry{\option{-d}}{Omit the backslash mark used to denote a wrapped line.} + \man_options_entry{\option{-M}}{Disable the use of mmap.} + \man_options_entry{\option{-r}}{Default to using regexp searches} + \man_options_entry{\option{-s}}{Squeeze-mode. Replace multiple blank + lines with a single blank line.} + + \man_options_entry{\option{-t}}{Display tabs as ^I. If this option + is immediately followed by an integer, the integer sets the tab + width, e.g., -t4} + + \man_options_entry{\option{-u}}{Disable UTF-8 mode even if the + locale dictates it} + + \man_options_entry{\option{+u}}{Force UTF-8 mode. By default \most + will use the current locale to determine if UTF-8 mode should be + used. The +u and -u switches allow the behavior to be overridden} + + \man_options_entry{\option{-v}}{Display control characters as in + `^A' for control A. Normally \most does not interpret control + characters.} + \man_options_entry{\option{-w}}{Wrap lines} + \man_options_entry{\option{-z}}{Disable gunzip-on-the-fly} + + \man_options_entry{\option{+/\replaceable{string}}}{Start up at the + line containing the first occurrence of string} + + \man_options_entry{\option{+\replaceable{lineno}}}{Start up at the + specified line-number} + + \man_options_entry{\option{+d}}{This switch should only be used if + you want the option to delete a file while viewing it. This makes + it easier to clean unwanted files out of a directory. The file is + deleted with the interactive key sequence `:D' and then confirming + with `y'.} + + \man_options_entry{\option{+s}}{Secure Mode-- no edit, cd, shell, + and reading files not already listed on the command line.} + + \variablelist-end +\refsect1-end + +\refsect1{COMMAND USAGE} +\p + The commands take effect immediately; it is not necessary to type a + carriage return. In the following commands, \i is a numerical + argument (1 by default). +\desc-list +\desc-item{SPACE, CTRL-D, NEXT_SCREEN}{ + Display another windowful, or jump \i windowfuls if \i is specified.} +\desc-item{RETURN, DOWN_ARROW, V, CTRL-N}{ +Display another line, or \i more lines, if specified.} + +\desc-item{UP_ARROW, ^, CTRL-P}{Display previous line, or \i previous +lines, if specified.} + +\desc-item{T, ESCAPE<}{Move to top of buffer.} + +\desc-item{B, ESCAPE>}{Move to bottom of buffer.} + +\desc-item{RIGHT_ARROW, TAB, >}{Scroll window left 60\i columns to view +lines that are beyond the right margin of the window.} + +\desc-item{LEFT_ARROW, CTRL-B, <}{Scroll window right 60\i columns to +view lines that are beyond the left margin of the window.} + +\desc-item{U, CTRL-U, DELETE, PREV_SCREEN}{Skip back \i windowfuls and +then print a windowful.} + +\desc-item{R, CTRL-R}{Redraw the window.} + +\desc-item{J, G}{If \i is not specified, then prompt for a line +number then jump to that line otherwise just jump to line i.} + +\desc-item{%}{If \i is not specified, then prompt for a percent number +then jump to that percent of the file otherwise just jump to \i percent +of the file.} + +\desc-item{W, w}{If the current screen width is 80, make it 132 and +vice-versa. For other values, this command is ignored.} + +\desc-item{Q, CTRL-X CTRL-C, CTRL-K E}{Exit from \most. On VMS, ^Z also +exits.} + +\desc-item{h, CTRL-H, HELP, PF2}{Help. Give a description of all the +\most commands. The \most environment variable MOST_HELP must be set +for this to be meaningful.} + +\desc-item{f, /, CTRL-F, FIND, GOLD PF3}{Prompt for a string and +search forward from the current line for ith distinct line containing +the string. CTRL-G aborts.} + +\desc-item{?}{Prompt for a string and search backward for the ith +distinct line containing the string. CTRL-G aborts.} + +\desc-item{n}{Search for the next \i lines containing an occurrence of +the last search string in the direction of the previous search.} + +\desc-item{m, SELECT, CTRL-@, CTRL-K M, PERIOD}{Set a mark on the +current line for later reference.} + +\desc-item{INSERT_HERE, CTRL-X CTRL-X, COMMA, CTRL-K RETURN, GOLD +PERIOD}{Set a mark on the current line but return to previous mark. +This allows the user to toggle back and forth between two positions in +the file.} + +\desc-item{l, L}{Toggle locking for this window. The window is locked +if there is a `*' at the left edge of the status line. Windows locked +together, scroll together.} + +\desc-item{CTRL-X 2, CTRL-W 2, GOLD X}{Split this window in half.} + +\desc-item{CTRL-X o, CTRL-W o, o, GOLDUP, GOLDDOWN}{Move to other window.} + +\desc-item{CTRL-X 0, CTRL-W 0, GOLD V}{Delete this window.} + +\desc-item{CTRL-X 1, CTRL-W 1, GOLD O}{Delete all other windows, leaving +only one window.} + +\desc-item{E, e}{Edit this file.} + +\desc-item{$, ESC $}{This is system dependent. On VMS, this causes \most +to spawn a subprocess. When the user exits the process, \most is +resumed. On UNIX systems, \most simply suspends itself.} + +\desc-item{:n}{Skip to the next filename given in the command line. Use +the arrow keys to scroll forward or backward through the file list. +`Q' quits \most and any other key selects the given file.} + +\desc-item{:c}{Toggle case sensitive search.} + +\desc-item{:D}{Delete current file. This command is only meaningful +with the +d switch.} + +\desc-item{:o, :O}{Toggle various options. With this key sequence, \most +displays a prompt asking the user to hit one of: bdtvw. The `b', `t', +`v', and `w' options have the same meaning as the command line +switches. For example, the `w' option will toggle wrapping on and off +for the current window. +\p +The `d' option must be used with a prefix integer i. All lines +indented beyond \i columns will not be displayed. For example, +consider the fragment:} +\desc-item-continue +#v+ + int main(int argc, char **argv) + { + int i; + for (i = 0; i < argc, i++) + { + fprintf(stdout,"%i: %s\n",i,argv[i]); + } + return 0; + } +#v- +The key sequence `1:od' will cause \most to display the file ignoring +all lines indented beyond the first column. So for the example above, +\most would display: +#v+ + int main(int argc, char **argv)... + } +#v- +where the `...' indicates lines that follow are not displayed. +\desc-item-continue-end +\desc-list-end +\p-end +\refsect1-end + +\refsect1{HINTS} +\p + CTRL-G aborts the commands requiring the user to type something in + at a prompt. The back-quote key has a special meaning here. It is + used to quote certain characters. This is useful when search for + the occurrence of a string with a control character or a string at + the beginning of a line. In the latter case, to find the occurrence + of `The' at the beginning of a line, enter `^JThe where ` quotes the + CTRL-J. +\p-end +\refsect1-end + +\refsect1{ENVIRONMENT} +\p + \most uses the following environment variables: +\desc-list +\desc-item{MOST_SWITCHES}{This variable sets commonly used switches. +For example, some people prefer to use \most with the -s option so that +excess blank lines are not displayed. On VMS this is normally done +done in the login.com through the line:} +\desc-item-continue +#v+ + $ define MOST_SWITCHES "-s" +#v- +\desc-item-continue-end + +\desc-item{MOST_EDITOR, SLANG_EDITOR}{Either of these environment +variables specify an editor for \most to invoke to edit a file. The +value can contain %s and %d formatting descriptors that represent the +file name and line number, respectively. For example, if JED is +your editor, then set MOST_EDITOR to 'jed %s -g %d'.} + +\desc-item{MOST_HELP}{This variable may be used to specify an alternate +help file.} + +\desc-item{MOST_INITFILE}{Set this variable to specify the +initialization file to load during startup. The default action is to +load the system configuration file and then a personal configuration +file called .mostrc on Unix, and most.rc on other systems.} +\desc-list-end +\refsect1-end + +\refsect1{CONFIGURATION FILE SYNTAX} +\p +When \most starts up, it tries to read a system configuration file and +then a personal configuration file. These files may be used to specify +key-bindings and colors. +\pp +To bind a key to a particular function use the syntax: +#v+ + setkey function-name key-sequence +#v- +\pp +The setkey command requires two arguments. The function-name argument +specifies the function that is to be executed as a response to the +keys specified by the key-sequence argument are pressed. For example, +#v+ + setkey "up" "^P" +#v- +\pp +indicates that when Ctrl-P is pressed then the function up is to be executed. +\pp +Sometimes, it is necessary to first unbind a key-sequence before +rebinding it in order via the unsetkey function: +#v+ + unsetkey "^F" +#v- +\pp +Colors may be defined through the use of the color keyword in the the +configuration file using the syntax: +#v+ + color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR +#v- +\pp +Here, OBJECT-NAME can be any one of the following items: +#v+ + status -- the status line + underline -- underlined text + overstrike -- overstruck text + normal -- anything else +#v- +\pp +See the sample configuration files for more information. +\p-end +\refsect1-end + +\refsect1{BUGS} +\p +Almost all of the known bugs or limitations of \most are due to a +desire to read and interpret control characters in files. One +problem concerns the use of backspace characters to underscore or +overstrike other characters. \most makes an attempt to use terminal +escape sequences to simulate this behavior. One side effect is the +one does not always get what one expects when scrolling right and left +through a file. When in doubt, use the -v and -b options of \most. +\pp +The regular-expression searches may fail to find strings that involve +backspace/underscore used for highlighting. The regular-expression +syntax is described in the S-Lang Library documentation. +\p-end +\refsect1-end + +\refsect1{AUTHOR} +\p + John E. Davis \email{jed@jedsoft.org} +\p-end +\refsect1{ACKNOWLEDGEMENTS} +\p +Over the years, many people have contributed to \most in one way or +another, e.g., via code patches, bug-fixes, comments, or criticisms. +I am particularly grateful to the very early adopters of the program +who took a chance with a fledgling software project headed by someone +learning the underlying language. These include: +\pp + Mats Akerberg, Henk D. Davids, Rex O. Livingston, and Mark Pizzolato + contributed to the early VMS versions of \most. In particular, Mark + worked on it to get it ready for DECUS. +\pp + Foteos Macrides adapted \most for use in cswing and gopher. A few + features of the present version of \most was inspired from his work. +\pp + I am grateful to Robert Mills for re-writing the search routines to + use regular expressions. +\pp + Sven Oliver Moll came up with the idea of automatic detection of + zipped files. +\pp + I would also like to thank Shinichi Hama for his valuable criticisms + of \most. +\pp + Javier Kohen was instrumental in the support for UTF-8. +\pp + Thanks to David W. Sanderson for adapting the early documentation to + nroff man page source format. +\p-end +\refsect1-end +\manpage-end diff --git a/vendor/most-5.1.0/most.lis b/vendor/most-5.1.0/most.lis new file mode 100644 index 0000000..faabf55 --- /dev/null +++ b/vendor/most-5.1.0/most.lis @@ -0,0 +1,63 @@ +@configure 0755 +@most.lis +@README +@COPYRIGHT +@COPYING +@NEWS +@changes.txt + +@doc/lesskeys.rc +@doc/most.rc +@doc/most-fun.txt +@doc/most.1 +@doc/most.txt +@doc/most.hlp +@doc/tm/most.tm +@doc/tm/Makefile + +@autoconf/Makefile.in +@autoconf/aclocal.m4 +@autoconf/configure.ac +@autoconf/mkinsdir.sh 0755 +@autoconf/install.sh 0755 +@autoconf/config.guess 0755 +@autoconf/config.sub 0755 + +@src/DESCRIP.MMS +@src/VMSMAKE.COM +@src/RTL.OPT +@src/Makefile.in +@src/Makefile.w32 +@src/sysconf.h +@src/config.hin +@src/mostconf.h +@src/modules.lis +@src/w32conf.h +@src/jdmacros.h +@src/main.c +@src/buffer.c +@src/file.c +@src/window.c +@src/line.c +@src/display.c +@src/sysdep.c +@src/keym.c +@src/most.c +@src/search.c +@src/help.c +@src/cmd.c +@src/edit.c +@src/edit.h +@src/buffer.h +@src/file.h +@src/window.h +@src/line.h +@src/display.h +@src/sysdep.h +@src/keym.h +@src/most.h +@src/search.h +@src/keyparse.c +@src/keyparse.h +@src/chkslang.c +@src/version.h diff --git a/vendor/most-5.1.0/src/DESCRIP.MMS b/vendor/most-5.1.0/src/DESCRIP.MMS new file mode 100644 index 0000000..ec8641c --- /dev/null +++ b/vendor/most-5.1.0/src/DESCRIP.MMS @@ -0,0 +1,68 @@ +# +# MMS file to build MOST. +# +# Written by Hunter Goatley ( 4-OCT-1993 15:41) +# Removed reference to DIR.C, Michael Lemke ( 3-NOV-1995 17:25:44.05) +# Moved CC =.. into if clause. New MMS doesn't like redefinition of macros. +# 6-AUG-1997 14:43:25.04 Michael Lemke ( 3-NOV-1995 17:25:44.05) +# +.IFDEF __MATTS_MMS__ +.ELSE +EXE = .EXE +OBJ = .OBJ +.ENDIF + + +.IFDEF __ALPHA__ +CC = CC/STANDARD=VAXC +OPTFILE = +OPTIONS = +NATIVE = /NONATIVE_ONLY +.ELSE +CC = CC/STANDARD/VAXC +OPTFILE = ,VAXCRTL.OPT +OPTIONS = $(OPTFILE)/OPTIONS +NATIVE = +.ENDIF + +.IFDEF SLANG_OLB +.ELSE +SLANG_DIR = [-.SLANG.SRC] +SLANG_OLB = $(SLANG_DIR)SLANG$(OLB) +.ENDIF + +CFLAGS = $(CFLAGS)/DEFINE=(USE_SLANG)/INCLUDE=$(SLANG_DIR) +LINKFLAGS = $(LINKFLAGS)$(NATIVE)/NOTRACE + +OBJS = MAIN$(OBJ),- + BUFFER$(OBJ),- + FILE$(OBJ),- + WINDOW$(OBJ),- + LINE$(OBJ),- + DISPLAY$(OBJ),- + SYSDEP$(OBJ),- + KEYM$(OBJ),- + MOST$(OBJ),- + SEARCH$(OBJ),- + HELP$(OBJ),- + CMD$(OBJ),- + EDIT$(OBJ),- + KEYPARSE$(OBJ) +# DIR$(OBJ),- + +MOST$(EXE) : config.h $(OBJS)$(OPTFILE) + $(LINK)$(LINKFLAGS) $(OBJS)$(OPTIONS),$(SLANG_OLB)/LIBRARY + +config.h : mostconf.h + copy mostconf.h config.h + +# +# Build the linker options file for OpenVMS VAX and VAX C. +# +VAXCRTL.OPT : + @ open/write tmp vaxcrtl.opt + @ write tmp "SYS$SHARE:VAXCRTL.EXE/SHARE" + @ close tmp + + + diff --git a/vendor/most-5.1.0/src/Makefile b/vendor/most-5.1.0/src/Makefile new file mode 100644 index 0000000..4ad566c --- /dev/null +++ b/vendor/most-5.1.0/src/Makefile @@ -0,0 +1,150 @@ +CC = gcc +CFLAGS = -g -O2 +LDFLAGS = +SLANG_INC = +SLANG_LIB = -lslang +MISCLIBS = +RPATH = + +#----------------------------------------------------------------------------- +# Location where object files are placed (Absolute path) +#----------------------------------------------------------------------------- +SRCDIR = /home/greg/code/most-5.1.0/src +OBJDIR = /home/greg/code/most-5.1.0/src/$(ARCH)objs + +#---------------------------------------------------------------------------- +# 5. Install location +#---------------------------------------------------------------------------- +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +DESTDIR = +prefix = /usr/local +exec_prefix = ${prefix} +datarootdir = ${prefix}/share +BIN_DIR = $(prefix)/bin +MAN_DIR = $(datarootdir)/man +DOC_DIR = $(datarootdir)/doc/most +SYS_INITFILE = ${prefix}/etc/most.conf +MKINSDIR = ../autoconf/mkinsdir.sh + +DOC_FILES = ../doc/most.txt ../README ../doc/most-fun.txt ../doc/lesskeys.rc ../doc/most.rc ../changes.txt + +#---------------------------------------------------------------------------- +# Nothing below here should require changing. +#---------------------------------------------------------------------------- +DEST_DOCDIR = $(DESTDIR)$(DOC_DIR) +DEST_MANDIR = $(DESTDIR)$(MAN_DIR) +DEST_BINDIR = $(DESTDIR)$(BIN_DIR) +# +SHELL = /bin/sh +OBJS = $(OBJDIR)/buffer.o $(OBJDIR)/cmd.o $(OBJDIR)/display.o $(OBJDIR)/edit.o $(OBJDIR)/file.o $(OBJDIR)/help.o $(OBJDIR)/keym.o $(OBJDIR)/keyparse.o $(OBJDIR)/line.o $(OBJDIR)/main.o $(OBJDIR)/most.o $(OBJDIR)/search.o $(OBJDIR)/sysdep.o $(OBJDIR)/window.o +OFILES = buffer.o cmd.o display.o edit.o file.o help.o keym.o keyparse.o line.o main.o most.o search.o sysdep.o window.o + +EXEC = most +CONFIG_H = config.h +INCS = $(SLANG_INC) +ALL_CFLAGS = $(CFLAGS) -Dunix $(INCS) +EXECLIBS = $(RPATH) $(SLANG_LIB) $(MISCLIBS) -lm +# +most_O_DEP = $(SRCDIR)/version.h +UPDATE_VERSION_SCRIPT = $(HOME)/bin/update_changes_version + +COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) -DMOST_SYSTEM_INITFILE='"$(SYS_INITFILE)"' +# +all: $(EXEC) +$(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC) + @echo $(EXEC) created in $(OBJDIR) +$(OBJDIR)/$(EXEC): $(OBJS) + cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS) +# +$(OBJDIR): + -mkdir $(OBJDIR) +# +$(CONFIG_H) : $(SRCDIR)/sysconf.h + /bin/cp $(SRCDIR)/sysconf.h $(CONFIG_H) +# +slangversion: $(OBJDIR)/chkslang + $(OBJDIR)/chkslang $(EXEC) 20000 +# +$(OBJDIR)/chkslang: $(OBJDIR)/chkslang.o + $(CC) $(OBJDIR)/chkslang.o -o $(OBJDIR)/chkslang $(LDFLAGS) $(EXECLIBS) +# +$(SRCDIR)/version.h: $(SRCDIR)/../changes.txt + if [ -x $(UPDATE_VERSION_SCRIPT) ]; then \ + $(UPDATE_VERSION_SCRIPT) $(SRCDIR)/../changes.txt $(SRCDIR)/version.h; \ + fi +# +clean: + /bin/rm -f $(OBJDIR)/* *~ +distclean: clean + /bin/rm -rf $(OBJDIR) Makefile sysconf.h +installdirs: + $(MKINSDIR) $(DEST_DOCDIR) + $(MKINSDIR) $(DEST_MANDIR)/man1 + $(MKINSDIR) $(DEST_BINDIR) +install: all installdirs + $(INSTALL) -s $(OBJDIR)/most $(DEST_BINDIR) + $(INSTALL_DATA) ../doc/most.1 $(DEST_MANDIR)/man1 + @for i in $(DOC_FILES); \ + do \ + echo $(INSTALL_DATA) $$i $(DEST_DOCDIR)/; \ + $(INSTALL_DATA) $$i $(DEST_DOCDIR)/; \ + if [ "$$?" != "0" ]; then \ + exit 1; \ + fi; \ + done +# The symlinks target is for my own private use. It simply creates the object +# directory as a symbolic link to a local disk instead of an NFS mounted one. +symlinks: + -/bin/rm -f $(ARCH)objs + mkdir -p $(HOME)/sys/$(ARCH)/objs/most/src + ln -s $(HOME)/sys/$(ARCH)/objs/most/src $(ARCH)objs +#--------------------------------------------------------------------------- +# Rules (automatically generated) +#--------------------------------------------------------------------------- + +$(OBJDIR)/buffer.o : $(SRCDIR)/buffer.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(buffer_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(buffer_C_FLAGS) $(SRCDIR)/buffer.c + +$(OBJDIR)/cmd.o : $(SRCDIR)/cmd.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(cmd_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(cmd_C_FLAGS) $(SRCDIR)/cmd.c + +$(OBJDIR)/display.o : $(SRCDIR)/display.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(display_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(display_C_FLAGS) $(SRCDIR)/display.c + +$(OBJDIR)/edit.o : $(SRCDIR)/edit.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(edit_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(edit_C_FLAGS) $(SRCDIR)/edit.c + +$(OBJDIR)/file.o : $(SRCDIR)/file.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(file_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(file_C_FLAGS) $(SRCDIR)/file.c + +$(OBJDIR)/help.o : $(SRCDIR)/help.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(help_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(help_C_FLAGS) $(SRCDIR)/help.c + +$(OBJDIR)/keym.o : $(SRCDIR)/keym.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(keym_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(keym_C_FLAGS) $(SRCDIR)/keym.c + +$(OBJDIR)/keyparse.o : $(SRCDIR)/keyparse.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(keyparse_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(keyparse_C_FLAGS) $(SRCDIR)/keyparse.c + +$(OBJDIR)/line.o : $(SRCDIR)/line.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(line_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(line_C_FLAGS) $(SRCDIR)/line.c + +$(OBJDIR)/main.o : $(SRCDIR)/main.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(main_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(main_C_FLAGS) $(SRCDIR)/main.c + +$(OBJDIR)/most.o : $(SRCDIR)/most.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(most_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(most_C_FLAGS) $(SRCDIR)/most.c + +$(OBJDIR)/search.o : $(SRCDIR)/search.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(search_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(search_C_FLAGS) $(SRCDIR)/search.c + +$(OBJDIR)/sysdep.o : $(SRCDIR)/sysdep.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(sysdep_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(sysdep_C_FLAGS) $(SRCDIR)/sysdep.c + +$(OBJDIR)/window.o : $(SRCDIR)/window.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(window_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(window_C_FLAGS) $(SRCDIR)/window.c + +$(OBJDIR)/chkslang.o : $(SRCDIR)/chkslang.c $(DOT_O_DEPS) $(OBJ_O_DEPS) $(chkslang_O_DEP) + cd $(OBJDIR) && $(COMPILE_CMD) $(chkslang_C_FLAGS) $(SRCDIR)/chkslang.c + diff --git a/vendor/most-5.1.0/src/Makefile.in b/vendor/most-5.1.0/src/Makefile.in new file mode 100644 index 0000000..b63a2ee --- /dev/null +++ b/vendor/most-5.1.0/src/Makefile.in @@ -0,0 +1,104 @@ +CC = @CC@ +CFLAGS = @CFLAGS@ @SLANG_DLL_CFLAGS@ +LDFLAGS = @LDFLAGS@ +SLANG_INC = @SLANG_INC@ +SLANG_LIB = @SLANG_LIB@ -lslang +MISCLIBS = @TERMCAP@ +RPATH = @RPATH@ + +#----------------------------------------------------------------------------- +# Location where object files are placed (Absolute path) +#----------------------------------------------------------------------------- +SRCDIR = @CONFIG_DIR@/src +OBJDIR = @CONFIG_DIR@/src/$(ARCH)objs + +#---------------------------------------------------------------------------- +# 5. Install location +#---------------------------------------------------------------------------- +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +DESTDIR = +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +BIN_DIR = $(prefix)/bin +MAN_DIR = $(datarootdir)/man +DOC_DIR = $(datarootdir)/doc/most +SYS_INITFILE = @sysconfdir@/most.conf +MKINSDIR = ../autoconf/mkinsdir.sh + +DOC_FILES = ../doc/most.txt ../README ../doc/most-fun.txt ../doc/lesskeys.rc ../doc/most.rc ../changes.txt + +#---------------------------------------------------------------------------- +# Nothing below here should require changing. +#---------------------------------------------------------------------------- +DEST_DOCDIR = $(DESTDIR)$(DOC_DIR) +DEST_MANDIR = $(DESTDIR)$(MAN_DIR) +DEST_BINDIR = $(DESTDIR)$(BIN_DIR) +# +SHELL = /bin/sh +OBJS = @PROGRAM_OBJECTS@ +OFILES = @PROGRAM_OFILES@ + +EXEC = most +CONFIG_H = config.h +INCS = $(SLANG_INC) +ALL_CFLAGS = $(CFLAGS) -Dunix $(INCS) +EXECLIBS = $(RPATH) $(SLANG_LIB) $(MISCLIBS) -lm +# +most_O_DEP = $(SRCDIR)/version.h +UPDATE_VERSION_SCRIPT = $(HOME)/bin/update_changes_version + +COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) -DMOST_SYSTEM_INITFILE='"$(SYS_INITFILE)"' +# +all: $(EXEC) +$(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC) + @echo $(EXEC) created in $(OBJDIR) +$(OBJDIR)/$(EXEC): $(OBJS) + cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS) +# +$(OBJDIR): + -mkdir $(OBJDIR) +# +$(CONFIG_H) : $(SRCDIR)/sysconf.h + /bin/cp $(SRCDIR)/sysconf.h $(CONFIG_H) +# +slangversion: $(OBJDIR)/chkslang + $(OBJDIR)/chkslang $(EXEC) 20000 +# +$(OBJDIR)/chkslang: $(OBJDIR)/chkslang.o + $(CC) $(OBJDIR)/chkslang.o -o $(OBJDIR)/chkslang $(LDFLAGS) $(EXECLIBS) +# +$(SRCDIR)/version.h: $(SRCDIR)/../changes.txt + if [ -x $(UPDATE_VERSION_SCRIPT) ]; then \ + $(UPDATE_VERSION_SCRIPT) $(SRCDIR)/../changes.txt $(SRCDIR)/version.h; \ + fi +# +clean: + /bin/rm -f $(OBJDIR)/* *~ +distclean: clean + /bin/rm -rf $(OBJDIR) Makefile sysconf.h +installdirs: + $(MKINSDIR) $(DEST_DOCDIR) + $(MKINSDIR) $(DEST_MANDIR)/man1 + $(MKINSDIR) $(DEST_BINDIR) +install: all installdirs + $(INSTALL) -s $(OBJDIR)/most $(DEST_BINDIR) + $(INSTALL_DATA) ../doc/most.1 $(DEST_MANDIR)/man1 + @for i in $(DOC_FILES); \ + do \ + echo $(INSTALL_DATA) $$i $(DEST_DOCDIR)/; \ + $(INSTALL_DATA) $$i $(DEST_DOCDIR)/; \ + if [ "$$?" != "0" ]; then \ + exit 1; \ + fi; \ + done +# The symlinks target is for my own private use. It simply creates the object +# directory as a symbolic link to a local disk instead of an NFS mounted one. +symlinks: + -/bin/rm -f $(ARCH)objs + mkdir -p $(HOME)/sys/$(ARCH)/objs/most/src + ln -s $(HOME)/sys/$(ARCH)/objs/most/src $(ARCH)objs +#--------------------------------------------------------------------------- +# Rules (automatically generated) +#--------------------------------------------------------------------------- diff --git a/vendor/most-5.1.0/src/Makefile.w32 b/vendor/most-5.1.0/src/Makefile.w32 new file mode 100644 index 0000000..ebb2082 --- /dev/null +++ b/vendor/most-5.1.0/src/Makefile.w32 @@ -0,0 +1,90 @@ +# DJGPP and MINGW32 Makefile for most -*- sh -*- +#--------------------------------------------------------------------------- +# 1. Choose a C compiler. It must understand prototypes. +#----------------------------------------------------------------------------- +CC = gcc +CFLAGS = -Wall -W -O2 -fno-strength-reduce +LDFLAGS = + +# If using DJGPP, set ARCH to djg. Use gw32 for MINGW32 +#ARCH=djg +ARCH=gw32 + +SLANGINC = ../../slang/src# Location of slang.h +SLANGLIB = $(SLANGINC)/$(ARCH)objs# Location of libslang.a + + +#----------------------------------------------------------------------------- +# 4. Location where object files are placed +#----------------------------------------------------------------------------- +OBJDIR = $(ARCH)objs +SRCDIR = . + +#---------------------------------------------------------------------------- +# Nothing below here should require changing. +#---------------------------------------------------------------------------- +OBJS = $(OBJDIR)/buffer.o $(OBJDIR)/cmd.o $(OBJDIR)/display.o $(OBJDIR)/edit.o $(OBJDIR)/file.o $(OBJDIR)/help.o $(OBJDIR)/keym.o $(OBJDIR)/keyparse.o $(OBJDIR)/line.o $(OBJDIR)/main.o $(OBJDIR)/most.o $(OBJDIR)/search.o $(OBJDIR)/sysdep.o $(OBJDIR)/window.o +OFILES = buffer.o cmd.o display.o edit.o file.o help.o keym.o keyparse.o line.o main.o most.o search.o sysdep.o window.o + +EXEC = most +CONFIG_H = config.h +ALL_CFLAGS = $(CFLAGS) -I$(SLANGINC) +EXECLIBS = -L../$(SLANGLIB) -lslang +# +COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) +# +all: $(EXEC) +$(EXEC): $(OBJDIR) $(CONFIG_H) $(OBJDIR)/$(EXEC) + @echo $(EXEC) created in $(OBJDIR) +$(OBJDIR)/$(EXEC): $(OBJS) + cd $(OBJDIR); $(CC) *.o -o $(EXEC) $(LDFLAGS) $(EXECLIBS) +# +$(OBJDIR): + -mkdir $(OBJDIR) +# +$(CONFIG_H) : $(SRCDIR)/w32conf.h + cp $(SRCDIR)/w32conf.h $(CONFIG_H) +clean: + rm -f $(OBJDIR)/* *~ + +$(OBJDIR)/buffer.o : $(SRCDIR)/buffer.c $(DOT_O_DEPS) $(buffer_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/buffer.c -o $(OBJDIR)/buffer.o + +$(OBJDIR)/cmd.o : $(SRCDIR)/cmd.c $(DOT_O_DEPS) $(cmd_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/cmd.c -o $(OBJDIR)/cmd.o + +$(OBJDIR)/display.o : $(SRCDIR)/display.c $(DOT_O_DEPS) $(display_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/display.c -o $(OBJDIR)/display.o + +$(OBJDIR)/edit.o : $(SRCDIR)/edit.c $(DOT_O_DEPS) $(edit_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/edit.c -o $(OBJDIR)/edit.o + +$(OBJDIR)/file.o : $(SRCDIR)/file.c $(DOT_O_DEPS) $(file_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/file.c -o $(OBJDIR)/file.o + +$(OBJDIR)/help.o : $(SRCDIR)/help.c $(DOT_O_DEPS) $(help_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/help.c -o $(OBJDIR)/help.o + +$(OBJDIR)/keym.o : $(SRCDIR)/keym.c $(DOT_O_DEPS) $(keym_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/keym.c -o $(OBJDIR)/keym.o + +$(OBJDIR)/keyparse.o : $(SRCDIR)/keyparse.c $(DOT_O_DEPS) $(keyparse_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/keyparse.c -o $(OBJDIR)/keyparse.o + +$(OBJDIR)/line.o : $(SRCDIR)/line.c $(DOT_O_DEPS) $(line_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/line.c -o $(OBJDIR)/line.o + +$(OBJDIR)/main.o : $(SRCDIR)/main.c $(DOT_O_DEPS) $(main_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/main.c -o $(OBJDIR)/main.o + +$(OBJDIR)/most.o : $(SRCDIR)/most.c $(DOT_O_DEPS) $(most_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/most.c -o $(OBJDIR)/most.o + +$(OBJDIR)/search.o : $(SRCDIR)/search.c $(DOT_O_DEPS) $(search_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/search.c -o $(OBJDIR)/search.o + +$(OBJDIR)/sysdep.o : $(SRCDIR)/sysdep.c $(DOT_O_DEPS) $(sysdep_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/sysdep.c -o $(OBJDIR)/sysdep.o + +$(OBJDIR)/window.o : $(SRCDIR)/window.c $(DOT_O_DEPS) $(window_O_DEP) + $(COMPILE_CMD) $(SRCDIR)/window.c -o $(OBJDIR)/window.o diff --git a/vendor/most-5.1.0/src/RTL.OPT b/vendor/most-5.1.0/src/RTL.OPT new file mode 100644 index 0000000..144d2a1 --- /dev/null +++ b/vendor/most-5.1.0/src/RTL.OPT @@ -0,0 +1,2 @@ +SYS$LIBRARY:VAXCRTL/SHARE + diff --git a/vendor/most-5.1.0/src/VMSMAKE.COM b/vendor/most-5.1.0/src/VMSMAKE.COM new file mode 100644 index 0000000..b614de6 --- /dev/null +++ b/vendor/most-5.1.0/src/VMSMAKE.COM @@ -0,0 +1,65 @@ +$! Most Makefile for VMS +$! +$! S-Lang Include directory (where slang.olb is located) +$! +$ Link_Flags = "" +$ Link_Libs = "" +$ slang_dir = "[-.-.slang.src]" +$ slang_lib = ",''slang_dir'slang/LIBR" +$ defs = "" +$ include = slang_dir +$! +$! If compiling with GCC, uncomment next line +$! goto has_gcc +$ if (p1 .eqs. "GCC") then goto has_gcc +$! +$! There should be no need to change anything below here +$! +$ C_C = "cc/standard=vaxc" +$ goto start +$ has_gcc: +$ C_C = "gcc/warnings/nocase_hack" +$ link_libs = "GNU_CC:[000000]GCCLIB/LIB" +$! +$ start: +$ copy mostconf.h config.h +$ axp = 0 +$ axp = f$getsyi("HW_MODEL").ge.1024 +$ exec_name = "most.exe" +$ files = "main,buffer,file,window,line,display,sysdep," +$ files = files + "keym,most,search,help,cmd,edit,keyparse" +$! +$ if (p1 .eqs. "LINK") then goto do_link +$! +$! simple make +$! +$ if (defs .nes. "") then defs = "/define=(" + defs + ")" +$ if (include .nes. "") then include = "/include=(" + include + ")" +$ count = 0 +$ next_file: +$ f = f$element(count, ",", files) +$ count = count + 1 +$ if (f .eqs. ",") then goto do_link +$ objf = f$search("''f'.obj") +$ if (objf .eqs. "") then goto compile_it +$ tobj = f$file_attr(objf, "RDT") +$ tc = f$file_attr("''f'.c", "RDT") +$ if (f$cvtime(tc) .lts. f$cvtime(tobj)) then goto next_file +$ compile_it: +$ write sys$output "''C_C' ''defs' ''include' ''f'.c" +$ 'C_C' 'defs' 'include' 'f'.c +$ goto next_file +$ do_link: +$ if axp +$ then +$ set verify +$ link/exec=most.exe 'Link_Flags' 'files', 'slang_dir'slang/LIBR 'Link_Libs' +$ set noverify +$ else +$ set verify +$ link/exec=most.exe 'Link_Flags' 'files', 'slang_dir'slang/LIB 'Link_Libs', - + sys$input/opt + SYS$LIBRARY:VAXCRTL/SHARE +$ set noverify +$ endif +$exit diff --git a/vendor/most-5.1.0/src/buffer.c b/vendor/most-5.1.0/src/buffer.c new file mode 100644 index 0000000..dc2cf62 --- /dev/null +++ b/vendor/most-5.1.0/src/buffer.c @@ -0,0 +1,579 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include + +#include +#include "jdmacros.h" + +#include "most.h" +#include "buffer.h" +#include "display.h" +#include "window.h" +#include "line.h" +#include "file.h" + +int Most_W_Opt = 0; + +unsigned char *Most_Beg; /* beginning of current buffer */ +unsigned char *Most_Eob; /* end of current buffer */ + +Most_Buffer_Type *Most_Buf; + +MOST_INT Most_Num_Lines; + +MOST_UINT Most_C_Offset; +MOST_INT Most_C_Line; + +/* p>p0 assumed */ +#define BSKIP_CHAR(p,p0) \ + (((Most_UTF8_Mode == 0) || (0 == ((*(p-1)) & 0x80))) \ + ? ((p)--) \ + : ((p) = SLutf8_bskip_char ((p0), (p)))) + +static unsigned char *beg_of_line1(void) +{ + unsigned char *pos; + unsigned char *cpos; + + cpos = pos = Most_Beg + Most_C_Offset; + if (pos == Most_Beg) return pos; + + if (pos != Most_Eob) + { + if (*pos == '\n') + { + pos--;/* Skip back over the new-line. */ + while ((pos > Most_Beg) + && (*pos != '\n')) + pos--; + + if (*pos != '\n') return pos; + if (pos + 1 != cpos) + return pos + 1; + } + } + else BSKIP_CHAR (pos, Most_Beg); + + if (*pos != '\n') + { + while ((pos > Most_Beg) + && (*pos != '\n')) + pos--; + if (*pos != '\n') return Most_Beg; + return pos + 1; + } + + /* from here on *pos == '\n' */ + + if (Most_S_Opt == 0) return pos + 1; + + while ((pos > Most_Beg) + && (*pos == '\n')) pos--; + pos += 2; + if (pos > cpos) pos = cpos; + return pos; +} + +/* does not move point */ +static unsigned char *end_of_line1(void) +{ + register unsigned char *pos, *pmax; + int n, n2; + + pos = Most_Beg + Most_C_Offset; + pmax = Most_Eob; + if (pos >= pmax) return pmax; + + /* find the first '\n'. If we are wrapping lines, then do not go more + * than 3 times the display width. + */ + if (Most_W_Opt && SLtt_Screen_Cols) + { + pmax = pos + 3 * SLtt_Screen_Cols; + if (pmax > Most_Eob) + pmax = Most_Eob; + } + + if (*pos != '\n') + { + /* This block is UTF-8 safe, because it only scans the buffer + * for a new-line, and doesn't count characters. + */ + n = pmax - pos; + n2 = n % 8; + pmax = pos + (n - 8); + + while (pos <= pmax) + { + if (*pos == '\n') return pos; + if (*(pos + 1) == '\n') return pos + 1; + if (*(pos + 2) == '\n') return pos + 2; + if (*(pos + 3) == '\n') return pos + 3; + if (*(pos + 4) == '\n') return pos + 4; + if (*(pos + 5) == '\n') return pos + 5; + if (*(pos + 6) == '\n') return pos + 6; + if (*(pos + 7) == '\n') return pos + 7; + pos += 8; + } + pmax = pos + n2; + while ((pos < pmax) && (*pos != '\n')) pos++; + return(pos); + } + + if (!Most_S_Opt) return (pos); + /* file */ + /* if Most_Beg = "....abc\n\n\n\n\ndef..." then we are at some first \n. We + want to return the last '\n' unless we wre at the first '\n'. */ + + /* Here we are on a \n and NOT at the end of the buffer */ + + if ((pos > Most_Beg) && (*(pos - 1) != '\n')) return (pos); + + while ((pos < Most_Eob) && (*pos == '\n')) pos++; + if (pos == Most_Eob) return pos; + if (pos != Most_Beg) pos--; + return pos; + /* if (pos == Most_Eob) return (pos - 1); + return pos; */ +} + +unsigned char *most_beg_of_line(void) +{ + unsigned char *b; + unsigned int ncols; + unsigned char *e; + + if (Most_W_Opt == 0) return beg_of_line1(); + + b = beg_of_line1 (); + e = end_of_line1 (); + ncols = SLtt_Screen_Cols; + if (Most_Show_Wrap_Marker) + ncols--; + while (1) + { + unsigned char *next_b = most_forward_columns (b, e, ncols); + if ((next_b == e) || (next_b == b)) + break; + + if (next_b >= Most_Beg + Most_C_Offset) + break; + + b = next_b; + } + + return b; +} + +static unsigned char *end_of_line (unsigned char *b) +{ + unsigned char *e, *b1; + int ncols; + + e = end_of_line1(); + if (Most_W_Opt == 0) + return e; + + if (b == NULL) b = most_beg_of_line (); + + ncols = SLtt_Screen_Cols; + if (Most_Show_Wrap_Marker) + ncols--; + + b = most_forward_columns (b, e, ncols); + + /* Do not wrap the line if the last character falls on the last column + * of the display. + */ + if (Most_Show_Wrap_Marker) + { + if ((Most_UTF8_Mode == 0) || ((*b & 0x80) == 0)) + b1 = b + 1; + else + b1 = SLutf8_skip_char (b, Most_Eob); + + if ((b1 <= e) + && (b1 < Most_Eob)) + { + if (*b1 == '\n') + b = b1; + else if ((*b1 == 033) && (Most_V_Opt == 0)) + { + unsigned char ch = 033; + b1++; + while ((ch == 033) && (b1 < e) && (b1 < Most_Eob) + && (0 == most_parse_color_escape (&b1, e, NULL))) + { + b = b1; + ch = *b1++; + } + } + } + } + + return b; +} + +MOST_INT most_forward_line (MOST_INT save) +{ + MOST_INT m, n; + unsigned char *p; + unsigned char *pmax; + + n = save; + pmax = Most_Eob; + + if (n > 0) + { + if (Most_B_Opt) + { + m = (Most_Eob - (Most_Beg + Most_C_Offset)) / 16; + if (n > m) n = m; + Most_C_Offset += n * 16; + Most_C_Line += n; + return n; + } + + p = NULL; + while (n--) + { + p = end_of_line (p); + Most_C_Offset = p - Most_Beg; + if (p == Most_Eob) return (save - (n + 1)); + Most_C_Line++; Most_C_Offset++; + + if (Most_Selective_Display) + { + /* Skip past lines with too much indentation to the start + * of a valid one. + */ + p = Most_Beg + Most_C_Offset; + while (p < pmax) + { + while ((p < pmax) && (*p <= ' ')) p++; + if (most_apparant_distance(p) < Most_Selective_Display) + break; + Most_C_Offset = (p - Most_Beg); + p = end_of_line (p); + if (p < pmax) p++; + } + Most_C_Offset = (p - Most_Beg); + } + p = Most_Beg + Most_C_Offset; + } + } + else + { + if (Most_B_Opt) + { + m = Most_C_Offset / 16; + if (n < m) n = m; + Most_C_Offset += n * 16; + Most_C_Line += n; + return n; + } + else while (n++) + { + p = most_beg_of_line(); + Most_C_Offset = (p - Most_Beg); + if (Most_C_Offset == 0) return (n - (save + 1)); + Most_C_Line--; + Most_C_Offset--; + + if (Most_Selective_Display) + { + /* Skip past lines with too much indentation to the start + * of a valid one. + */ + p = Most_Beg + Most_C_Offset; + while (p > Most_Beg) + { + /* skip all blank lines */ + while ((p > Most_Beg) && (*p <= ' ')) p--; + pmax = p; + Most_C_Offset = pmax - Most_Beg; + p = most_beg_of_line (); + Most_C_Offset = p - Most_Beg; + while ((p < pmax) && (*p <= ' ')) p++; + if (most_apparant_distance(p) < Most_Selective_Display) + break; + Most_C_Offset = p - Most_Beg; + p = most_beg_of_line (); + if (p > Most_Beg) p--; + Most_C_Offset = p - Most_Beg; + } + Most_C_Offset = p - Most_Beg; + } + } + } + return(save); +} + +/* Count lines in the region. A half line counts as 1 */ +MOST_INT most_count_lines(unsigned char *beg, unsigned char *end) +{ + MOST_INT save_line, n; + unsigned char *save_beg, *save_eob; + MOST_UINT save_pos; + int dn = 1000; + + if (Most_B_Opt) return(1 + (MOST_INT)(end - beg) / 16); + + save_line = Most_C_Line; save_beg = Most_Beg; save_eob = Most_Eob; + save_pos = Most_C_Offset; + + Most_Beg = beg; Most_Eob = end; + Most_C_Offset = 0; + + n = 1; + while((dn = most_forward_line(dn)) != 0) n += dn; + + Most_C_Offset = save_pos; + Most_Eob = save_eob; + Most_Beg = save_beg; + Most_C_Line = save_line; + return(n); +} + +void most_goto_line (MOST_INT line) +{ + MOST_INT dif_c, dif_b, dif_t; + + if (line < 1) line = 1; + most_read_to_line(line); + if (line > Most_Num_Lines) line = Most_Num_Lines; + + if (Most_B_Opt) + { + Most_C_Offset = (16 * (line - 1)); + Most_C_Line = line; + return; + } + + dif_c = line - Most_C_Line; + dif_b = line - Most_Num_Lines; + dif_t = line - 1; + + /* 4 possibilites */ + if (dif_c <= 0) + { + if (dif_t < -dif_c) /* go from top */ + { + Most_C_Line = 1; + Most_C_Offset = 0; + (void) most_forward_line(dif_t); + } + else /* from curr back */ + { + (void) most_forward_line(dif_c); + } + } + else if (dif_c > 0) + { + if ((dif_c + dif_b) < 0) /* go from curr */ + { + (void) most_forward_line(dif_c); + } + else + { + Most_C_Line = Most_Num_Lines; + Most_C_Offset = (Most_Eob - Most_Beg); + (void) most_forward_line(dif_b); + } + } +} + +/* return line the point is on without the final '\n's */ +int most_extract_line(unsigned char **beg, unsigned char **end) +{ + *beg = most_beg_of_line(); + *end = end_of_line (*beg); + + return 0; +} + +MOST_INT most_what_line(unsigned char *pos) +{ + unsigned int save_pos; + MOST_INT save_line, dir; + MOST_INT dif_c, dif_b,dif_t; + int ret; + + if (Most_B_Opt) + { + return (1 + (pos - Most_Beg)/16); + } + + if (Most_Selective_Display) + { + return most_count_lines (Most_Beg, pos); + } + + save_pos = Most_C_Offset; + save_line = Most_C_Line; + + dif_c = pos - (Most_Beg + Most_C_Offset); + dif_b = pos - Most_Eob; + dif_t = pos - Most_Beg; + + /* 4 possibilites */ + if (dif_c <= 0) + { + if (dif_t < -dif_c) /* go from top */ + { + Most_C_Line = 1; + Most_C_Offset = 0; + dir = 1; + } + else /* from curr back */ + { + dir = -1; + } + } + else /* (dif_c > 0) */ + { + if ((dif_c + dif_b) < 0) /* go from curr */ + { + dir = 1; + } + else + { + Most_C_Line = Most_Num_Lines; + Most_C_Offset = Most_Eob - Most_Beg; + dir = -1; + } + } + if (dir == 1) + { + while (1) + { + unsigned char *cpos; + + cpos = end_of_line (NULL); + Most_C_Offset = cpos - Most_Beg; + + if (cpos >= pos) + break; + + Most_C_Offset++; + Most_C_Line++; + } + } + else + { + while (1) + { + unsigned char *cpos; + + cpos = most_beg_of_line (); + Most_C_Offset = cpos - Most_Beg; + if (pos >= cpos) + break; + Most_C_Line--; + Most_C_Offset--; + } + } + + ret = Most_C_Line; + Most_C_Offset = save_pos; + Most_C_Line = save_line; + return(ret); +} + +/* given a buffer position, find the line and column */ +void most_find_row_column(unsigned char *pos, MOST_INT *r, MOST_INT *c) +{ + unsigned int save_offset; + MOST_INT save_line; + + if (pos <= Most_Beg) + { + *r = 1; + *c = 1; + return; + } + + save_line = Most_C_Line; + save_offset = Most_C_Offset; + *r = most_what_line(pos); + + if (Most_B_Opt) + { + *c = (int) (pos - Most_Beg) - (*r - 1) * 16 + 1; + return; + } + Most_C_Line = *r; + Most_C_Offset = pos - Most_Beg; + + /* Now we have found the line it is on so.... */ + (void) most_beg_of_line(); + *c = 1 + most_apparant_distance (pos); + + Most_C_Line = save_line; + Most_C_Offset = save_offset; +} + +Most_Buffer_Type *most_switch_to_buffer(Most_Buffer_Type *nnew) +{ + Most_Buffer_Type *old; + old = Most_Buf; + Most_Buf = nnew; + Most_Beg = Most_Buf->beg; + Most_Eob = Most_Buf->end; + return old; +} + +Most_Buffer_Type *most_create_buffer(char *file) +{ + Most_Buffer_Type *buf; + + buf = (Most_Buffer_Type *) MOSTMALLOC(sizeof(Most_Buffer_Type)); + memset ((char *) buf, 0, sizeof(Most_Buffer_Type)); + strcpy(buf->file,file); + return(buf); +} + +unsigned char *most_malloc(unsigned int n) +{ + unsigned char *b = (unsigned char *) SLMALLOC(n); + if (b == NULL) + { + most_exit_error("malloc: Memory Allocation Error."); + } + return b; +} + +unsigned char *most_realloc(unsigned char *p, unsigned int n) +{ + unsigned char *b = (unsigned char *) SLREALLOC(p, n); + if (b == NULL) + { + most_exit_error("malloc: Memory Allocation Error."); + } + return b; +} diff --git a/vendor/most-5.1.0/src/buffer.h b/vendor/most-5.1.0/src/buffer.h new file mode 100644 index 0000000..c14ee35 --- /dev/null +++ b/vendor/most-5.1.0/src/buffer.h @@ -0,0 +1,81 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef _DAVIS_BUFFER_H_ +# define _DAVIS_BUFFER_H_ + +typedef struct +{ + char file[MAX_PATHLEN]; /* filename */ + unsigned char *beg; /* beginning of buffer */ + unsigned char *end; /* end of buffer */ + int mark; /* marked line in buffer */ + unsigned int flags; + int fd; /* file descriptor--- -1 if closed */ + FILE *fp; /* use pclose when EOF is reached */ + int size; +# ifdef VMS + int rec; /* record size for reads */ +# endif +# if MOST_HAS_MMAP + int is_mmaped; + unsigned int mmap_size; +# endif +} +Most_Buffer_Type; + +extern Most_Buffer_Type *Most_Buf; +extern unsigned char *Most_Beg, *Most_Eob; +extern MOST_INT Most_Num_Lines; + +/* Offset of current position from beginning of buffer */ +extern MOST_UINT Most_C_Offset; + +extern MOST_INT Most_C_Line; +/* + * Current line number. If at the beginning of the buffer, it is 1. If + * we are at the last point of the buffer it is the number of lines. + */ + +/* This routine does not move the point */ +extern unsigned char *most_beg_of_line(void); + +extern MOST_INT most_forward_line(MOST_INT); +/* This routine moves the point forward n lines. n can be negative. + It returns the number moved. */ + +extern void most_goto_line (MOST_INT); +/* Move the point somewhere on the nth line of the buffer returning + C_POS */ + +extern MOST_INT most_what_line (unsigned char *); +/* return the line number of position 'argument'. Does not move point */ + +/* count the number of lines in the region delimited by beg and end. + Counts lines from beg up to end but does not count end. + Does not move point. */ +extern MOST_INT most_count_lines(unsigned char *, unsigned char *); +extern int most_extract_line(unsigned char **, unsigned char **); + +extern Most_Buffer_Type *most_switch_to_buffer(Most_Buffer_Type *); +extern Most_Buffer_Type *most_create_buffer(char *); +extern void most_find_row_column(unsigned char *, MOST_INT *, MOST_INT *); + +#endif + diff --git a/vendor/most-5.1.0/src/chkslang.c b/vendor/most-5.1.0/src/chkslang.c new file mode 100644 index 0000000..1db5513 --- /dev/null +++ b/vendor/most-5.1.0/src/chkslang.c @@ -0,0 +1,89 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +/* It is too bad that this cannot be done at the preprocessor level. + * Unfortunately, C is not completely portable yet. Basically the #error + * directive is the problem. + */ +#include "config.h" + +#include +#ifdef VMS +# include +#endif +#include +#include "jdmacros.h" + +static char *make_version (unsigned int v) +{ + static char v_string[16]; + unsigned int a, b, c; + + a = v/10000; + b = (v - a * 10000) / 100; + c = v - (a * 10000) - (b * 100); + sprintf (v_string, "%u.%u.%u", a, b, c); + return v_string; +} + +int main (int argc, char **argv) +{ + unsigned int min_version, sl_version; + unsigned int sug_version; + int ret; + + if ((argc < 3) || (argc > 4)) + { + fprintf (stderr, "Usage: %s \n", argv[0]); + return 1; + } +#ifndef SLANG_VERSION + sl_version = 0; +#else + sl_version = SLANG_VERSION; +#endif + + sscanf (argv[2], "%u", &min_version); + if (argc == 4) sscanf (argv[3], "%u", &sug_version); + else sug_version = sl_version; + + ret = 0; + if (sl_version < min_version) + { + fprintf (stderr, "This version of %s requires slang version %s.\n", + argv[1], make_version(min_version)); +#ifdef VMS + ret = SS$_ABORT; +#else + ret = 1; +#endif + } + + if (sl_version < sug_version) + { + fprintf (stderr, "Your slang version is %s.\n", make_version(sl_version)); + fprintf (stderr, "To fully utilize this program, you should upgrade the slang library to\n"); + fprintf (stderr, " version %s\n", make_version(sug_version)); + fprintf (stderr, "This library is available via anonymous ftp from\n\ +space.mit.edu in pub/davis/slang.\n"); + } + + return ret; +} + diff --git a/vendor/most-5.1.0/src/cmd.c b/vendor/most-5.1.0/src/cmd.c new file mode 100644 index 0000000..2c75e53 --- /dev/null +++ b/vendor/most-5.1.0/src/cmd.c @@ -0,0 +1,287 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include +#include "jdmacros.h" + +#include "most.h" +#include "search.h" +#include "window.h" +#include "file.h" +#include "keym.h" +#include "display.h" +#include "sysdep.h" + +static char getkey_nocase (void) +{ + char ch = most_getkey (); + if ((ch >= 'a') && (ch <= 'z')) ch = ch - ' '; + + SLang_flush_input (); + + return ch; +} + +void most_next_file (void) +{ + static int next = 1; + char *msg = NULL; + + if (!Most_Num_Files) msg = "File ring is empty."; + else if (Most_Num_Files == 1) msg = "There is only one file!"; + else + { + most_do_next_file(&next); + } + if (msg != NULL) most_message (msg, 1); +} + +void most_toggle_case (void) +{ + char *msg; + Most_Case_Sensitive = !Most_Case_Sensitive; + if (Most_Case_Sensitive) + msg = "Searches now respect case."; + else + msg = "Searches nolonger respect case."; + + most_message (msg, 0); +} + +void most_toggle_research (void) +{ + char *msg; + + Most_Do_Regexp_Search = !Most_Do_Regexp_Search; + + if (Most_Do_Regexp_Search) + msg = "Regexp search enabled"; + else + msg = "Regexp search disabled"; + + most_message (msg, 0); +} + +void most_delete_file_cmd (void) +{ + int bell = 0; + char ch; + char *msg; + + if ('*' == *Most_Buf->file) return; + + if (Most_Secure_Mode) Most_D_Opt = 0; + if (Most_D_Opt == 0) return; + + most_select_minibuffer (); + SLsmg_printf ("Delete %s? [n]", Most_Buf->file); + SLsmg_refresh (); + + ch = getkey_nocase (); + if (ch == 'Y') + { + if (!most_delete_file(Most_Buf->file)) + { + msg = "File could not be deleted."; + bell = 1; + } + else + msg = "File deleted."; + } + else + msg = "File not deleted."; + most_exit_minibuffer (); + most_message(msg, bell); +} + +void most_toggle_options (void) +{ + char ch; + char *msg = NULL; + int n; + unsigned int save; + + most_select_minibuffer(); + SLsmg_write_string("Toggle: b(binary) t(tab) v(verbose) w(wrap) d(selective display) "); + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_refresh (); + + ch = getkey_nocase(); + switch (ch) + { + default: + msg = "\007Invalid option!"; + break; + + case 'B': + Most_B_Opt = !Most_B_Opt; + Most_Num_Lines = most_count_lines(Most_Beg,Most_Eob); + break; + + case 'D': + if (Most_W_Opt) + { + msg = "\007Selective Display illegal in wrap mode."; + break; + } + + if (Most_Digit_Arg == NULL) + { + msg = "Selective Display off. Prefix with integer to set."; + n = 0; + } + else + { + msg = "Selective Display is set."; + n = abs( *Most_Digit_Arg ); + } + + if (Most_Selective_Display != n) + { + Most_Selective_Display = n; + Most_Num_Lines = most_count_lines(Most_Beg,Most_Eob); + most_forward_line (-1); + + /* This is duplicated below */ + /* Most_C_Line = most_count_lines (Most_Beg, Most_C_Pos); */ + } + + break; + + case 'S': + + if (Most_B_Opt) msg = "\007Squeezing not available in Binary mode."; + else + { + Most_S_Opt = !Most_S_Opt; + Most_Num_Lines = most_count_lines(Most_Beg,Most_Eob); + if (Most_S_Opt) msg = "Lines are now squeezed."; + else msg = "Line squeezing is turned off"; + } + + break; + + case 'W': + if (Most_Selective_Display) + { + msg = "\007Wrap mode cannot be enabled while selective display is on."; + break; + } + Most_W_Opt = !Most_W_Opt; + Most_Num_Lines = most_count_lines(Most_Beg, Most_Eob); + if (Most_W_Opt) msg = "Wrap turned on."; + else msg = "Wrap turned off."; + break; + + case 'V': + Most_V_Opt = !Most_V_Opt; + if (Most_V_Opt) msg = "Control char display is turned on."; + else msg = "Control char display is turned off."; + break; + + case 'T': + if (Most_Digit_Arg == NULL) Most_T_Opt = !Most_T_Opt; + else + { + Most_Tab_Width = abs( *Most_Digit_Arg ); + if (Most_Tab_Width == 0) Most_T_Opt = 1; + else Most_T_Opt = 0; + } + if (Most_T_Opt) msg = "Tabs are nolonger expanded."; + else msg = "Tabs are now expanded."; + break; + } + + SLsmg_erase_eol (); + most_exit_minibuffer(); + + if ((msg != NULL) && (*msg == '\007')) + { + most_message (msg + 1, 1); + return; + } + + if (!Most_Num_Lines) Most_Num_Lines = 1; + most_save_win_flags(Most_Win); + + save = Most_C_Offset; + Most_C_Offset = 0; + Most_C_Line = 1; + Most_C_Line = most_what_line (Most_Beg + save); + Most_C_Offset = save; + Most_Win->beg_line = Most_C_Line; + most_redraw_window(); + most_update_status(); + + if (msg != NULL) most_message (msg, 0); +} + +/* ----------------------------------------------------------------------*/ + +void most_extended_key_cmd (void) +{ + char ch; + + if (Most_Secure_Mode) Most_D_Opt = 0; + + most_select_minibuffer(); + SLsmg_write_string ("Choose: N (next file), C(toggle case), R(toggle re-search) O(toggle options)"); + if (Most_D_Opt) SLsmg_write_string (" ,D (delete file)"); + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_refresh (); + ch = getkey_nocase(); + SLsmg_erase_eol (); + + most_exit_minibuffer (); + + switch (ch) + { + case 'N': + most_next_file (); + break; + case 'C': + most_toggle_case (); + break; + case 'R': + most_toggle_research (); + break; + case 'O': + most_toggle_options (); + break; + case 'D': + if (Most_D_Opt) + { + most_delete_file_cmd (); + break; + } + /* drop */ + default: + most_message ("Invalid option.", 1); + } +} + diff --git a/vendor/most-5.1.0/src/config.h b/vendor/most-5.1.0/src/config.h new file mode 100644 index 0000000..15d7577 --- /dev/null +++ b/vendor/most-5.1.0/src/config.h @@ -0,0 +1,107 @@ +/* src/sysconf.h. Generated from config.hin by configure. */ +/* -*- C -*- */ + +/* Note: this is for authentic unix systems only. + * See mostconf.h for other systems. + */ + +#ifndef MOST_CONFIG_H +#define MOST_CONFIG_H + +/* Define if you want the MMAP support */ +#define USE_MMAP 1 + +/* define if you have long long type */ +#define HAVE_LONG_LONG 1 + +/* #undef off_t */ +/* #undef size_t */ +#define SIZEOF_OFF_T 8 +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_FLOAT 4 +#define SIZEOF_DOUBLE 8 +#define SIZEOF_LONG_LONG 8 + +/* The following set defines may be necessary to activate long file support */ +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _LARGEFILE_SOURCE */ + +/* define if you have stdlib.h */ +#define HAVE_STDLIB_H 1 + +/* define if you have unistd.h */ +#define HAVE_UNISTD_H 1 + +/* define if you have memory.h */ +#define HAVE_MEMORY_H 1 + +/* define if you have malloc.h */ +#define HAVE_MALLOC_H 1 + +/* define if you have memset */ +#define HAVE_MEMSET 1 + +/* define if you have memcpy */ +#define HAVE_MEMCPY 1 + +/* define if you have this. */ +#define HAVE_GETCWD 1 + +#define HAVE_MMAP 1 + +#define HAVE_TCGETPGRP 1 +#define HAVE_GETPGRP 1 + +#define HAVE_DIRENT_H 1 +/* #undef HAVE_SYS_NDIR_H */ +/* #undef HAVE_SYS_DIR_H */ +/* #undef HAVE_NDIR_H */ + +#define HAVE_SNPRINTF 1 +#define HAVE_SYS_MMAN_H 1 + +/* #undef mode_t */ +/* #undef pid_t */ +/* #undef uid_t */ +/* #undef pid_t */ + + +#ifdef _AIX +# ifndef _POSIX_SOURCE +# define _POSIX_SOURCE +# endif +# ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +# endif +/* This may generate warnings but the fact is that without it, xlc will + * INCORRECTLY inline many str* functions. */ +/* # undef __STR__ */ +#endif + +#define MAX_PATHLEN 1024 +#if defined(USE_MMAP) && defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) +# define MOST_HAS_MMAP 1 +#else +# define MOST_HAS_MMAP 0 +#endif + +#if defined(HAVE_LONG_LONG) && (SIZEOF_OFF_T == SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG > SIZEOF_LONG) +typedef long long MOST_INT; +typedef unsigned long long MOST_UINT; +# define MOST_INT_D_FMT "%lld" +#else +# if (SIZEOF_OFF_T == SIZEOF_INT) +typedef int MOST_INT; +typedef unsigned int MOST_UINT; +# define MOST_INT_D_FMT "%d" +# else +typedef long MOST_INT; +typedef unsigned long MOST_UINT; +# define MOST_INT_D_FMT "%ld" +# endif +#endif + +#endif /* MOST_CONFIG_H */ diff --git a/vendor/most-5.1.0/src/config.hin b/vendor/most-5.1.0/src/config.hin new file mode 100644 index 0000000..8146561 --- /dev/null +++ b/vendor/most-5.1.0/src/config.hin @@ -0,0 +1,106 @@ +/* -*- C -*- */ + +/* Note: this is for authentic unix systems only. + * See mostconf.h for other systems. + */ + +#ifndef MOST_CONFIG_H +#define MOST_CONFIG_H + +/* Define if you want the MMAP support */ +#undef USE_MMAP + +/* define if you have long long type */ +#undef HAVE_LONG_LONG + +#undef off_t +#undef size_t +#undef SIZEOF_OFF_T +#undef SIZEOF_SHORT +#undef SIZEOF_INT +#undef SIZEOF_LONG +#undef SIZEOF_FLOAT +#undef SIZEOF_DOUBLE +#undef SIZEOF_LONG_LONG + +/* The following set defines may be necessary to activate long file support */ +#undef _FILE_OFFSET_BITS +#undef _LARGE_FILES +#undef _LARGEFILE_SOURCE + +/* define if you have stdlib.h */ +#undef HAVE_STDLIB_H + +/* define if you have unistd.h */ +#undef HAVE_UNISTD_H + +/* define if you have memory.h */ +#undef HAVE_MEMORY_H + +/* define if you have malloc.h */ +#undef HAVE_MALLOC_H + +/* define if you have memset */ +#undef HAVE_MEMSET + +/* define if you have memcpy */ +#undef HAVE_MEMCPY + +/* define if you have this. */ +#undef HAVE_GETCWD + +#undef HAVE_MMAP + +#undef HAVE_TCGETPGRP +#undef HAVE_GETPGRP + +#undef HAVE_DIRENT_H +#undef HAVE_SYS_NDIR_H +#undef HAVE_SYS_DIR_H +#undef HAVE_NDIR_H + +#undef HAVE_SNPRINTF +#undef HAVE_SYS_MMAN_H + +#undef mode_t +#undef pid_t +#undef uid_t +#undef pid_t + + +#ifdef _AIX +# ifndef _POSIX_SOURCE +# define _POSIX_SOURCE +# endif +# ifndef _ALL_SOURCE +# define _ALL_SOURCE +# endif +/* This may generate warnings but the fact is that without it, xlc will + * INCORRECTLY inline many str* functions. */ +# undef __STR__ +#endif + +#define MAX_PATHLEN 1024 +#if defined(USE_MMAP) && defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) +# define MOST_HAS_MMAP 1 +#else +# define MOST_HAS_MMAP 0 +#endif + +#if defined(HAVE_LONG_LONG) && (SIZEOF_OFF_T == SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG > SIZEOF_LONG) +typedef long long MOST_INT; +typedef unsigned long long MOST_UINT; +# define MOST_INT_D_FMT "%lld" +#else +# if (SIZEOF_OFF_T == SIZEOF_INT) +typedef int MOST_INT; +typedef unsigned int MOST_UINT; +# define MOST_INT_D_FMT "%d" +# else +typedef long MOST_INT; +typedef unsigned long MOST_UINT; +# define MOST_INT_D_FMT "%ld" +# endif +#endif + +#endif /* MOST_CONFIG_H */ diff --git a/vendor/most-5.1.0/src/display.c b/vendor/most-5.1.0/src/display.c new file mode 100644 index 0000000..318ce2a --- /dev/null +++ b/vendor/most-5.1.0/src/display.c @@ -0,0 +1,67 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include +#include +#include "jdmacros.h" + +#include "display.h" + +void most_narrow_width(void) +{ + SLsmg_refresh (); + SLtt_write_string ("\033[?3l"); +} + +void most_wide_width(void) +{ + SLsmg_refresh (); + SLtt_write_string ("\033[?3h"); +} + +void most_tt_set_color (int color) +{ + SLsmg_set_color (color); +} + +void most_tt_bold_video (void) +{ + SLsmg_set_color (MOST_BOLD_COLOR); +} + +void most_tt_normal_video (void) +{ + SLsmg_set_color (0); +} + +void most_tt_underline_video (void) +{ + SLsmg_set_color (MOST_ULINE_COLOR); +} + +void most_tt_reverse_video (void) +{ + SLsmg_set_color (MOST_STATUS_COLOR); +} + +void most_goto_rc (int r, int c) +{ + SLsmg_gotorc (r - 1, c - 1); +} + diff --git a/vendor/most-5.1.0/src/display.h b/vendor/most-5.1.0/src/display.h new file mode 100644 index 0000000..2662a8b --- /dev/null +++ b/vendor/most-5.1.0/src/display.h @@ -0,0 +1,38 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ + +/* These numbers match ANSI escape sequences of form ESC [ x m */ +#define MOST_BOLD_COLOR 1 +#define MOST_ULINE_COLOR 4 +#define MOST_STATUS_COLOR 7 + +#define MOST_EMBEDDED_COLOR_OFFSET 32 + +extern void most_tt_set_color (int color); +extern void most_tt_reverse_video(void); +extern void most_tt_bold_video(void); +extern void most_tt_underline_video(void); +extern void most_tt_normal_video(void); +extern void most_wide_width(void); +extern void most_narrow_width(void); +extern void most_enable_cursor_keys(void); + +extern void most_goto_rc (int, int); +extern void most_setup_colors (void); diff --git a/vendor/most-5.1.0/src/edit.c b/vendor/most-5.1.0/src/edit.c new file mode 100644 index 0000000..72688a3 --- /dev/null +++ b/vendor/most-5.1.0/src/edit.c @@ -0,0 +1,277 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +/* editor functions */ +#include +#include + +#ifdef VMS +# include +# include +# include +# include +/* #include */ +# include +# include +# include +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include + +#include "most.h" +#include "edit.h" +#include "window.h" +#include "file.h" +#include "sysdep.h" + +/* quote_char is one of: 0, ", or '. It represents the character + * that will be used to quote the filename. + */ +char *most_escape_filename (char *file, char quote_char) +{ + char *efile, *e; + + if (NULL == (efile = SLmalloc (5 + 2*strlen(file)))) + return NULL; + + e = efile; + +#ifndef VMS + if (quote_char == 0) + { + /* No quote char was used for the filename command. Add it here. */ + *e++ = '"'; + } + else if (quote_char == '\'') + { + /* Suppose the file is Bob's Notes. With ' as the quote, when passed + * to the shell, it would look like 'Bob's Notes'. Unfortunately, this + * would produce an unmatched single quote when processed by the shell. + * So, the following escaped form will be used: + * ''"Bob's Notes"'' + */ + *e++ = '\''; + *e++ = '"'; + } +#endif + + while (1) + { + char ch = *file++; + switch (ch) + { + case 0: +#ifndef VMS + if (quote_char == 0) + *e++ = '"'; + else if (quote_char == '\'') + { + *e++ = '"'; + *e++ = '\''; + } +#endif + *e = 0; + return efile; +#ifndef VMS + /* For a double-quoted string, only the following characters + * may be escaped with a backslash. Unfortunately, escaping + * others such as &, *, |, etc will not work. + */ + case '\\': case '$': case '"': case '`': case '\n': + *e++ = '\\'; + *e++ = ch; + break; +#endif + default: + *e++ = ch; + } + } +} + +static int create_edit_command (char *edit, char *cmd, unsigned int sizeof_cmd, char *file) +{ + int d, s; + char ch, *p = edit; + char *efile; + char quote_char = '"'; + /* Look for %d and %s */ + + d = s = 0; + + while (0 != (ch = *p++)) + { + char q = 0; + + if (((ch == '\'') || (ch == '"')) + && (*p == '%')) + { + q = ch; + ch = '%'; + p++; + } + if (ch != '%') continue; + + ch = *p++; + if (!d && (ch == 'd')) + { + if (s == 0) d = 1; else d = 2; + } + else if (!s && (ch == 's')) + { + if (d == 0) s = 1; else s = 2; + if (q && (q != *p)) + { + most_message ("Unmatched quote character in editor definition", 1); + return -1; + } + quote_char = q; + } + else + { + most_message ("Invalid editor definition.", 1); + return -1; + } + } + + if (NULL == (efile = most_escape_filename (file, quote_char))) + return -1; + + if ((d == 0) && (s == 0)) + { + /* No %d, %s */ + _pSLsnprintf (cmd, sizeof_cmd, "%s \"%s\"", edit, efile); + SLfree (efile); + return 0; + } + + if (d == 0) + { + (void) _pSLsnprintf (cmd, sizeof_cmd, edit, efile); + SLfree (efile); + return 0; + } + + if (d && s) + { + if (d == 1) + (void) _pSLsnprintf (cmd, sizeof_cmd, edit, Most_C_Line, efile); + else + (void) _pSLsnprintf (cmd, sizeof_cmd, edit, efile, Most_C_Line); + + SLfree (efile); + return 0; + } + + most_message ("Unsupported Editor definition", 1); + SLfree (efile); + return -1; +} + +#ifdef VMS +int call_edt_tpu(int tpu, char *file) +{ + char the_file[MAX_PATHLEN], *strp; + extern void edt$edit(); + extern void tpu$tpu(); + struct dsc$descriptor_s file_desc; + + if (tpu == 1) /* tpu */ + _pSLsnprintf (the_file, sizeof(the_file), "TPU /START=%d ", Most_C_Line); + else + the_file[0] = '\0'; + + strcat(the_file, file); + + /* lose the version number */ + strp = the_file; + while((*strp != '\0') && (*strp != ';')) strp++; + *strp = '\0'; + + file_desc.dsc$w_length = strlen(the_file); + file_desc.dsc$a_pointer = the_file; + file_desc.dsc$b_class = DSC$K_CLASS_S; /* scalar, string type */ + file_desc.dsc$b_dtype = DSC$K_DTYPE_T; /* ascii string */ + + if (tpu == 1) + tpu$tpu(&file_desc); + else + edt$edit(&file_desc); + + return 1; +} +#endif + +void most_edit_cmd(void) +{ + char *editor; + char cmd[2*MAX_PATHLEN + 30]; +#ifdef VMS + int tpu = -1; +#endif + char *file; + + file = Most_Buf->file; + + if ((0 == *file) || ('*' == *file)) + return; + + if (Most_Secure_Mode) + { + most_message ("Editing not permitted in secure mode.", 1); + return; + } + + if ((NULL == (editor = getenv("MOST_EDITOR"))) + && (NULL == (editor = getenv("SLANG_EDITOR"))) + && (NULL == (editor = getenv("EDITOR")))) +#ifdef VMS + editor = "EDT"; +#else + editor = "vi"; +#endif + +#ifdef VMS + if (!strcmp(editor,"EDT")) tpu = 0; + else if (!strcmp(editor,"TPU")) tpu = 1; + else +#endif + if (-1 == create_edit_command(editor, cmd, sizeof(cmd), file)) + return; + + most_reset_tty (); + most_reset_display (); + +#ifdef VMS + if (tpu != -1) (void) call_edt_tpu(tpu, file); + else +#endif + SLsystem (cmd); + + most_reread_file (); + most_init_tty (); + most_init_display (); + most_redraw_display (); +} + diff --git a/vendor/most-5.1.0/src/edit.h b/vendor/most-5.1.0/src/edit.h new file mode 100644 index 0000000..e462468 --- /dev/null +++ b/vendor/most-5.1.0/src/edit.h @@ -0,0 +1,22 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +extern void most_edit_cmd (void); +extern char *most_escape_filename (char *file, char quote_char); + diff --git a/vendor/most-5.1.0/src/file.c b/vendor/most-5.1.0/src/file.c new file mode 100644 index 0000000..6fbbe11 --- /dev/null +++ b/vendor/most-5.1.0/src/file.c @@ -0,0 +1,846 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +#include +#include +#include + +#include + +#ifndef VMS +# include +# include +# include +# ifdef HAVE_UNISTD_H +# include +# endif +#else +# include +# include +#endif /* NOT VMS */ + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include +#include "jdmacros.h" + +#ifndef O_RDONLY +# define O_RDONLY 0 +#endif + +#include "window.h" +#include "file.h" +#include "most.h" +#include "buffer.h" +#include "display.h" +#include "sysdep.h" +#include "edit.h" + +char *Most_File_Ring[MOST_MAX_FILES]; +char Most_C_Dir[MAX_PATHLEN]; /* current working dir */ +int Most_Num_Files; +int Most_Tail_Mode = 1; + +#if !defined(VMS) + +static int create_gunzip_cmd (char *cmd, char *file, char *buf, unsigned int sizeof_buf) +{ + char *efile; + + if (NULL == (efile = most_escape_filename (file, '"'))) + return -1; + + (void) _pSLsnprintf (buf, sizeof_buf, cmd, efile); + SLfree (efile); + return 0; +} + +static int open_compressed_file(char *file, int mode, int *size) +{ + int fd; + char buf[4], cmdbuf[2*MAX_PATHLEN]; + struct stat st; + +# ifdef O_BINARY + mode |= O_BINARY; +# endif +# ifdef IBMPC_SYSTEM + Most_Z_Opt = 1; +# endif + + if (Most_Z_Opt) + { + if (stat(file, &st)) return(-1); + *size = st.st_size; + return (open(file,mode)); + } + fd = open(file, O_RDONLY); + + if (fd < 0) return fd; + + if (4 == read(fd, buf, 4)) + { + char *cmd = NULL; + + if ((buf[0] == (char) 0x1f) + && (buf[1] == (char) 0x8b) + && (buf[2] == (char) 0x08) + && ((buf[3] == (char) 0x08) || (buf[3] == (char)0x00))) + { + cmd = MOST_GUNZIP_POPEN_FORMAT; + } + else if ((buf[0] == 'B') && (buf[1] == 'Z') && (buf[2] == 'h') + && (buf[3] > 47)) + { + cmd = MOST_BZIP2_POPEN_FORMAT; + } + + if (cmd != NULL) + { + FILE *fp; + + close (fd); + most_flush_message ("Uncompressing file..."); + + if (-1 == create_gunzip_cmd (cmd, file, cmdbuf, sizeof(cmdbuf))) + return -1; + fp = popen (cmdbuf, "r"); /* GLIBC doe not support "rb" */ + if (fp == NULL) + return -1; + *size = 0; + fd = fileno (fp); + Most_Buf->fp = fp; + /* pclose (fp); */ + return fd; + } + } + + close (fd); + if (stat(file, &st)) return(-1); + *size = st.st_size; + return (open(file,mode)); +} +#endif /* VMS */ + +#if MOST_HAS_MMAP +#ifdef HAVE_SYS_MMAN_H +# include +#endif + +#ifndef MAP_FAILED +# define MAP_FAILED -1 +#endif +static int try_mmap_buffer (int fd) +{ + unsigned char *addr; + struct stat st; + + Most_Buf->is_mmaped = 0; + + if (Most_Disable_MMap) + return -1; + + if (-1 == fstat (fd, &st)) + return -1; + + addr = (unsigned char *)mmap (NULL,st.st_size,PROT_READ,MAP_SHARED,fd,0); + if (addr == (unsigned char *)MAP_FAILED) + return -1; + + Most_Buf->fd = fd; + Most_Eob = Most_Beg = Most_Buf->end = Most_Buf->beg = addr; + Most_Buf->size = 0; + Most_Buf->mmap_size = st.st_size; + Most_Buf->is_mmaped = 1; + + return 0; +} + +static int unmmap_buffer (Most_Buffer_Type *b) +{ + if (b->is_mmaped == 0) + return 0; + + if (b->beg != NULL) + munmap ((char *)b->beg, b->size); + + b->end = b->beg = NULL; + if (b == Most_Buf) + { + Most_Beg = Most_Eob = NULL; + Most_C_Line = 0; + Most_Num_Lines = Most_C_Line = 0; + } + return 0; +} + +static int resync_mmap (void) +{ + struct stat st; + int line = Most_C_Line; + + if (Most_Buf->fd == -1) + return 0; + if (-1 == fstat (Most_Buf->fd, &st)) + return -1; + + if ((unsigned int) st.st_size == Most_Buf->mmap_size) + return 0; + + (void) unmmap_buffer (Most_Buf); + if (-1 == try_mmap_buffer (Most_Buf->fd)) + return -1; + + most_goto_line (line); + return 0; +} + +#endif /* MOST_HAS_MMAP */ + +int most_close_buffer_file (Most_Buffer_Type *b) +{ + if (b->fd != -1) + { +#if !defined(VMS) + if (b->fp != NULL) pclose (b->fp); + else +#endif + close(b->fd); + } +#if MOST_HAS_MMAP + unmmap_buffer (b); +#endif + if (b->beg != NULL) + SLFREE(b->beg); + b->beg = NULL; + b->fd = -1; + + return 0; +} + +/* If file[0] == 0, the file represents stdin */ +static int insert_file(char *file) +{ + int size = 0, fd; + /* int mode; */ +#ifdef VMS + struct stat st; + unsigned recsz = 512; + /* extern int stat(char *, struct stat *); */ +#endif + + if (file[0] == '\0') /* assume stdin */ + { + fd = 0; + strcpy (Most_Buf->file, "*stdin*"); + } + else + { +#ifdef VMS + if (stat(file, &st)) return(-1); + /* mode = st.st_mode & S_IFMT; */ + size = st.st_size; + recsz = st.st_fab_mrs; + if (recsz <= 255) recsz = 255; + /* VMS share options (shr=put) suggested by Henk D. Davids */ + /* VMS share options (shr=upi,get,put) suggested by Mark Pizzolato */ + fd = open(file,O_RDONLY,"ctx=rec","mbf=8","mbc=16","rop=RAH","shr=upi,get,put"); + /* if (fd < 0) fd = open(file,O_RDONLY); */ +#else + fd = open_compressed_file(file, O_RDONLY, &size); +# if MOST_HAS_MMAP + if (0 == try_mmap_buffer (fd)) + return most_read_file_dsc (1, 1); +# endif +#endif + } + + if (fd < 0) return(-1); + + if (!fd || (size <= 0)) size = 0x7FFF; +#ifdef VMS + Most_Buf->rec = recsz; +#endif + Most_Buf->fd = fd; + + /* This will fail on really large files. */ + Most_Eob = Most_Beg = Most_Buf->beg = (unsigned char *) MOSTMALLOC(size); + Most_Buf->size = size; + + return most_read_file_dsc (1, 1); +} + +static void update_buffer_windows (Most_Buffer_Type *b) +{ + Most_Window_Type *w; + + if (NULL == (w = Most_Win)) + return; + do + { + if (w->buf == b) w->dirty_flag = 1; + w = w->next; + } + while (w != Most_Win); +} + +static void examine_file_contents (void) +{ + unsigned char *pos, *pos_max; + + if (Most_B_Opt || Most_K_Opt) + return; + + pos = Most_Beg; + pos_max = pos + 512; + if (pos_max > Most_Eob) + pos_max = Most_Eob; + + while (pos < pos_max) + { + if (0 == *pos) + { + Most_B_Opt = 1; + break; + } + pos++; + } + + /* Check for a FITS file. The header looks like ASCII. */ + if (Most_B_Opt == 0) + { + pos = Most_Beg; + pos_max = Most_Eob; + if ((pos_max > pos + 80) + && (0 == strncmp ((char *) pos, "SIMPLE =", 9))) + { + Most_V_Opt = 1; + Most_W_Opt = 1; + } + } +} + +static int First_Time_Hack = 0; /* true if reading file for first time */ + +#if MOST_HAS_MMAP +static int read_mmap_file_dsc (int many, int count_lines) +{ + unsigned int size; + + size = Most_Buf->size; + + if (many == -1) + { + if (-1 == resync_mmap ()) + return -1; + } + + if (size == Most_Buf->mmap_size) + return 0; + + if (many < 0) + size = Most_Buf->mmap_size; + else + { + size += many * 0xFFFF; + if (size > Most_Buf->mmap_size) + size = Most_Buf->mmap_size; + } + + Most_Eob = Most_Buf->end = Most_Buf->beg + size; + Most_Buf->size = size; + + most_flush_message ("Mapping file..."); + + if (First_Time_Hack) + examine_file_contents (); + + if (count_lines) + Most_Num_Lines = most_count_lines (Most_Beg, Most_Eob); + + most_message(Most_Global_Msg, 0); + return 1; +} + +#endif + +/* if read something, return non zero (1) */ +int most_read_file_dsc (int many, int count_lines) +{ + int fd = Most_Buf->fd, n = 0, i; + int dsize, size, passes = 0; + unsigned char *pos; +#ifdef VMS + int recsz = Most_Buf->rec; +#endif + + if (fd < 0) return 0; + +#if MOST_HAS_MMAP + if (Most_Buf->is_mmaped) + { + int ret = read_mmap_file_dsc (many, count_lines); + if (-1 != ret) + return ret; + + if (Most_Buf->is_mmaped) + return -1; + /* No longer mapped..... */ + } +#endif + + dsize = 0x3FFF; + + while (many--) + { + passes++; + most_flush_message ("Reading..."); + + size = (Most_Eob - Most_Beg) + dsize; + + if (Most_Buf->size > size) pos = Most_Beg; + else + { + size = Most_Buf->size + 0xFFFF; + pos = (unsigned char *) MOSTREALLOC(Most_Beg, (unsigned) size); + Most_Buf->size = size; + } + + Most_Eob = pos + (unsigned int) (Most_Eob - Most_Beg); + Most_Beg = pos; + + pos = Most_Eob; + n = 0; + + while (1) + { +#ifdef VMS + i = read (fd, (char *) pos, recsz); +#else + i = read (fd, (char *) pos, dsize - n); +#endif + if (i == -1) + { +#ifdef EINTR + if ((errno == EINTR) && (SLKeyBoard_Quit == 0)) continue; +#endif + break; + } + + if (i == 0) + { + /* EOF */ + /* Under linux, for some reason bash when invoked by + * man will reset the terminal. Apparantly this is a + * result of most being orphaned. + */ +#ifdef __unix__ + if (fd == 0) + (void) most_reinit_terminal (); +#endif + break; + } + n += i; + pos += i; + if (n >= dsize) + break; + } + + Most_Eob = Most_Buf->end = pos; + Most_Buf->beg = Most_Beg; + + if (n != 0) n = 1; + + if ((i <= 0) + || SLKeyBoard_Quit) + { + break; + } + } + + if (First_Time_Hack) + examine_file_contents (); + + if (count_lines + && (n || First_Time_Hack)) + Most_Num_Lines = most_count_lines (Most_Beg, Most_Eob); + + update_buffer_windows (Most_Buf); + + most_message("reading...done", 0); + most_put_message(); + most_message(Most_Global_Msg, 0); + + return n; +} + +/* This routines makes sure line n is read in. */ +void most_read_to_line(int n) +{ + int dn; + long nbytes; + + if (Most_Buf->fd == -1) return; + + n += 2 * SLtt_Screen_Rows; + dn = n - Most_Num_Lines; + if (dn < 0) return; + + nbytes = 0; + if (Most_Num_Lines) + nbytes = dn * ((Most_Eob - Most_Beg) / Most_Num_Lines); + if (nbytes < 0x3FFF) nbytes = 0x3FFF; + + while ((Most_Buf->fd != -1) + && (n >= Most_Num_Lines) + && (0 != most_read_file_dsc (nbytes / 0x3FFF, 1)) + && (SLKeyBoard_Quit == 0)) + { + nbytes = 0; + if (Most_Num_Lines) + nbytes = dn * ((Most_Eob - Most_Beg) / Most_Num_Lines); + if (nbytes < 0x3FFF) nbytes = 0x3FFF; + } +} + +int most_find_file(char *file) +{ + Most_Buffer_Type *new_buf; + int n; + char msg[MAX_PATHLEN+20], *msgp; + int ret = 0; + + new_buf = most_create_buffer(file); + (void) most_switch_to_buffer(new_buf); + + First_Time_Hack = 1; + if (insert_file(file) < 0) + { + sprintf (msg, "%s failed to open.", file); + n = strlen (msg); + msgp = (char *) MOSTMALLOC((unsigned int) (n + 1)); + strcpy (msgp, msg); + Most_Buf->beg = (unsigned char *) msgp; + Most_Buf->end = Most_Buf->beg + n; + Most_Buf->fd = -1; + Most_Num_Lines = 1; + ret = -1; + } + First_Time_Hack = 0; + + Most_Beg = Most_Buf->beg; + Most_Eob = Most_Buf->end; + Most_C_Offset = 0; + Most_C_Line = 1; + Most_Column = 1; + return ret; +} + +/* if the file is visible in a window, move to the window and return 1 + else return 0 */ +Most_Window_Type *most_file_visible(char *file) +{ + Most_Window_Type *w; + w = Most_Win; + Most_Win = Most_Top_Win; + do + { + if (!strcmp(Most_Win->buf->file,file)) + { + most_set_window(Most_Win); + return(Most_Win); + } + Most_Win = Most_Win->next; + } + while (Most_Win != Most_Top_Win); + Most_Win = w; + return(NULL); +} + +void most_reread_file (void) +{ + char file[MAX_PATHLEN]; + int line = Most_C_Line; + + if (-1 == access(Most_Buf->file, 0)) /* does it exist? */ + { + most_message("File not found.",1); + return; + } + + most_one_window (); + + strcpy (file, Most_Buf->file); + most_free_window_buffer (); + (void) most_find_file (file); + most_goto_line (line); + most_window_buffer (); +} + +static int find_file_in_window(char *file) +{ + if (NULL != most_file_visible(file)) + { + most_message ("File is already visible.", 1); + return -2; + } + + if (-1 == access(file, 0)) /* does it exist? */ + { + most_message("File not found.",1); + return -1; + } + most_free_window_buffer(); + (void) most_find_file(file); + + most_window_buffer(); + + most_redraw_window(); + most_update_status(); + return 0; +} + +static void format_next_file (char *mbuf, int j, char *file) +{ + int len, max_len; + + len = strlen (file); + max_len = SLtt_Screen_Cols - 25; + if (len > max_len) + { + sprintf(mbuf, "Next File (%d): ...%s", j, file + (len - max_len)); + } + else sprintf(mbuf, "Next File (%d): %s", j, file); +} + +void most_do_next_file(int *j) +{ + char mbuf[256], *curr_file; + unsigned char ch; + + most_select_minibuffer(); + + if (*j >= Most_Num_Files) *j = 0; + curr_file = Most_File_Ring[*j]; + + while (1) + { + format_next_file (mbuf, *j, curr_file); + + SLsmg_write_string (mbuf); + SLsmg_erase_eol (); + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + + SLsmg_refresh (); + + ch = most_getkey(); +#ifndef IBMPC_SYSTEM + if (ch != '\033') break; + if (ch = most_getkey(), (ch != 'O') && (ch != '[')) continue; + if (ch = most_getkey(), (ch != 'A') && (ch != 'B')) continue; +#else + if ((ch != 0) && (ch != 0xE0)) + break; + + ch = most_getkey (); + if (ch != 'H') ch = 'B'; else ch = 'A'; + +#endif + if (ch == 'B') + { + if (*j == 0) *j = Most_Num_Files; + (*j)--; + } + else /* ch == 'A' */ + { + (*j)++; + if (*j == Most_Num_Files) *j = 0; + } + curr_file = Most_File_Ring[*j]; + } + + most_exit_minibuffer(); + + (*j)++; + if ((ch == 'Q') || (ch == 'q')) + { + most_exit_most (); + } + else find_file_in_window(curr_file); +} + +/* extracts directory from file string, returns false if no dir */ +int most_head(char *file, char *dir) +{ + int n; + + if (file == NULL) return 0; + + (void) strcpy(dir,file); + n = strlen(file) - 1; +#ifdef VMS + while((n > -1) && (file[n] != ']') && (file[n] != ':')) n--; +#else + while((n > -1) && file[n] != '/') n--; +#endif + n++; + dir[n] = '\0'; + return(n); +} + +/* returns a pointer to the tail of file */ +static int tail(char *filed, char **filep) +{ + int n; + n = strlen(filed) - 1; +#ifdef VMS + while((n > -1) && ((filed[n] != ']') && (filed[n] != ':'))) n--; +#else + while((n > -1) && (filed[n] != '/')) n--; +#endif + n++; + *filep = (filed + n); + return(n); +} + +/* assume path is big enough to hold new expanded version */ +static int expand_path(char *path) +{ +#ifndef VMS + int n; +#endif + /* really cheat here-- let system do it. The path must exist!! */ + if (chdir(path)) + { + most_message(path,1); + return(0); + } + else + { + most_get_cdir(path); + (void) chdir(Most_C_Dir); +#ifndef VMS + n = strlen(path); + if (path[n-1] == '/') return(1); + path[n++] = '/'; path[n] = 0; +#endif + } + return(1); +} + +#if 0 +static void most_cd (void) +{ + char tmp_dir[MAX_PATHLEN]; + int n; + + if (Most_Secure_Mode) + { + most_message ("CD disabled in secure mode.", 1); + return; + } + + strcpy(tmp_dir,Most_C_Dir); + if (most_read_from_minibuffer("cd ",Most_C_Dir) == -1) return; + if (!chdir(Most_C_Dir)) + { + most_get_cdir(Most_C_Dir); /* expands ../ etc... */ + n = strlen(Most_C_Dir); +# ifndef VMS + if (Most_C_Dir[n-1] == '/') return; + Most_C_Dir[n++] = '/'; Most_C_Dir[n] = 0; +# endif + return; + } + strcpy(Most_C_Dir,tmp_dir); + (void) chdir(Most_C_Dir); + most_message("Unable to change directory.",1); +} +#endif + +void most_user_get_file() +{ + char path[MAX_PATHLEN], file[MAX_PATHLEN], *name; +#ifdef VMS + unsigned int i, imax; +#endif + + if (Most_Secure_Mode) + { + most_message ("Getting a file is not permitted in secure mode.", 1); + return; + } + + if (!most_head(Most_Win->buf->file,file)) + strcpy(file,Most_C_Dir); + + if (most_read_from_minibuffer("Find File: ", file, file, sizeof(file)) == -1) + return; + + if (most_head(file,path)) + { + expand_path(path); + tail(file,&name); + strcat(path,name); + name = path; + } + else name = file; +#ifdef VMS + imax = strlen (name); + for (i = 0; i < imax; i++) + name [i] = toupper (name[i]); +#endif + + if (find_file_in_window(name) < 0) return; + + /* + ** add to file ring if successful + */ + if ((NULL != most_file_visible(name)) + && (Most_Num_Files < MOST_MAX_FILES)) + { + Most_File_Ring[Most_Num_Files] = (char*) MOSTMALLOC(strlen(name) + 1); + strcpy(Most_File_Ring[Most_Num_Files++],name); + } +} + +void most_get_cdir(char *dir) +{ +#ifdef sequent + getwd(dir); +#else +# ifdef HAVE_GETCWD + getcwd(dir, MAX_PATHLEN); +# else + getwd(dir); +# endif +#endif + +#ifndef VMS + { + int i; + i = strlen(dir); + if (i && (dir[i - 1] != '/')) dir[i++] = '/'; + dir[i] = 0; + } +#endif +} diff --git a/vendor/most-5.1.0/src/file.h b/vendor/most-5.1.0/src/file.h new file mode 100644 index 0000000..2a7a1d7 --- /dev/null +++ b/vendor/most-5.1.0/src/file.h @@ -0,0 +1,41 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +#define MOST_MAX_FILES 4096 +#define MOST_MAX_FILES 4096 +#define MOST_GUNZIP_POPEN_FORMAT "gzip -dc \"%s\"" +#define MOST_BZIP2_POPEN_FORMAT "bzip2 -dc \"%s\"" + +extern void most_reread_file (void); +extern void most_read_to_line (int); +extern Most_Window_Type *most_file_visible (char *); +extern void most_user_get_file(void); +extern int most_read_file_dsc(int many, int count_lines); +extern void most_get_cdir(char *); +extern int most_get_dir(char *); +extern void most_do_next_file(int *); +extern int most_find_file(char *); +extern int most_head(char *, char *); + +extern char *Most_File_Ring[MOST_MAX_FILES]; +extern int Most_Num_Files; +extern char Most_C_Dir[MAX_PATHLEN]; +extern int Most_Tail_Mode; +extern int most_close_buffer_file (Most_Buffer_Type *); diff --git a/vendor/most-5.1.0/src/help.c b/vendor/most-5.1.0/src/help.c new file mode 100644 index 0000000..b8a7e6a --- /dev/null +++ b/vendor/most-5.1.0/src/help.c @@ -0,0 +1,206 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +#include +#include + +#ifdef VMS +# include +#else +# include +# include +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include +#include "jdmacros.h" + +#include "most.h" +#include "window.h" +#include "file.h" +#include "display.h" +#include "line.h" +#include "keym.h" +#include "sysdep.h" + +/* This section provided by Mats Akerberg (mats@efd.lth.se) */ + +static char *help[] = +{ + "Quitting:", + " Q Quit MOST.", + " :N,:n Quit this file and view next. ", + " (Use UP/DOWN arrow keys to select next file.)", + "Movement:", + " SPACE, D *Scroll down one Screen.", + " U, BACKSPACE *Scroll Up one screen.", + " RETURN, DOWN *Move Down one line.", + " UP *Move Up one line.", + " T Goto Top of File.", + " B Goto Bottom of file.", + " > , TAB Scroll Window right", + " < Scroll Window left", + " RIGHT Scroll Window left by 1 column", + " LEFT Scroll Window right by 1 column", + " J, G Goto line.", + " % Goto percent.", + "Window Commands:", + " Ctrl-X 2, Ctrl-W 2 Split window.", + " Ctrl-X 1, Ctrl-W 1 Make only one window.", + " O, Ctrl-X O Move to other window.", + " Ctrl-X 0 Delete Window.", + "Searching:", + " S, f, / *Search forward", + " ? *Search Backward", + " N *Find next in current search direction.", + "Miscellaneous:", + " W Toggle width between 80 and 132 char mode.", + " Ctrl-X Ctrl-F Read a file from disk", + " R, Ctrl-R Redraw Screen.", + " F Simulate tail -f mode", + " :o Toggle options: b-binary, w-wrap, t-tab", + " E Edit file. Uses MOST_EDITOR and EDITOR", + " environment variables.", + "*Note: This command may be repeated `n' times By entering a number then", + " the command key, e.g., '5 SPACE' moves 5 screens forward.", + NULL +}; + +static void most_do_help_text (void) +{ + char **p = help, *sect = NULL; + int r; + + while (*p != NULL) + { + SLsmg_cls (); + + r = 0; + SLsmg_gotorc (0, 0); + + if ((sect != NULL) && (**p == ' ')) + { + most_tt_bold_video (); + SLsmg_gotorc (r, 0); + SLsmg_write_string (sect); + most_tt_normal_video (); + SLsmg_write_string (" (continued)"); + r += 2; + } + else sect = NULL; + + while (r < SLtt_Screen_Rows - 1) + { + if (*p == NULL) break; + + if (**p != ' ') + { + if (((r + 5) > SLtt_Screen_Rows) + && (**p != '*')) + { + sect = NULL; + break; + } + + if (sect != NULL) + { + r++; + } + + if (**p != '*') + { + sect = *p; + most_tt_bold_video (); + } + else sect = NULL; + } + SLsmg_gotorc (r, 0); + SLsmg_write_string (*p); + + if ((**p != ' ') && (**p != '*')) + { + most_tt_normal_video (); + r++; + } + p++; + r++; + } + + SLsmg_gotorc (r, 0); + + most_tt_reverse_video(); + SLsmg_write_string("Press any key to continue."); + most_tt_normal_video(); + + SLsmg_refresh (); + + most_getkey (); + } + + most_redraw_display(); +} + +static void most_do_help_file (char *helpfile) +{ + char *buf_name; + FILE *fp; + + buf_name = "*help*"; + +#ifdef MOST_HELPFILE + if (helpfile == NULL) helpfile = MOST_HELPFILE; +#endif + + if (helpfile != NULL) + { + if (most_file_visible(buf_name)) return; + + /* See if we can open it */ + if (NULL != (fp = fopen (helpfile, "r"))) + { + fclose (fp); + if (!most_split_window()) + { + most_message("Two many windows.",1); + return; + } + most_update_status(); /* create status line of prev. window */ + most_other_window(1); + (void) most_find_file(helpfile); + strcpy(Most_Buf->file, buf_name); + Most_B_Opt = 0; + most_window_buffer (); + most_redraw_window (); + most_update_status (); + return; + } + } + + most_do_help_text (); +} + +void most_do_help_command(void) +{ + most_do_help_file (getenv ("MOST_HELP")); +} + diff --git a/vendor/most-5.1.0/src/jdmacros.h b/vendor/most-5.1.0/src/jdmacros.h new file mode 100644 index 0000000..319f8b4 --- /dev/null +++ b/vendor/most-5.1.0/src/jdmacros.h @@ -0,0 +1,72 @@ +#ifndef _JD_MACROS_H_ +# define _JD_MACROS_H_ + +/* This file defines some macros that I use with programs that link to + * the slang library. + */ + +# ifdef HAVE_MALLOC_H +# include +# endif + +# ifdef HAVE_MEMORY_H +# include +# endif + +# ifndef SLMEMSET +# ifdef HAVE_MEMSET +# define SLMEMSET memset +# else +# define SLMEMSET SLmemset +# endif +# endif + +# ifndef SLMEMCHR +# ifdef HAVE_MEMCHR +# define SLMEMCHR memchr +# else +# define SLMEMCHR SLmemchr +# endif +# endif + +# ifndef SLMEMCPY +# ifdef HAVE_MEMCPY +# define SLMEMCPY memcpy +# else +# define SLMEMCPY SLmemcpy +# endif +# endif + +/* Note: HAVE_MEMCMP requires an unsigned memory comparison!!! */ +# ifndef SLMEMCMP +# ifdef HAVE_MEMCMP +# define SLMEMCMP memcmp +# else +# define SLMEMCMP SLmemcmp +# endif +# endif + +# if SLANG_VERSION < 9934 +# define SLmemcmp jed_memcmp +# define SLmemcpy jed_memcpy +# define SLmemset jed_memset +# define SLmemchr jed_memchr +# endif + +# ifndef SLFREE +# define SLFREE free +# endif + +# ifndef SLMALLOC +# define SLMALLOC malloc +# endif + +# ifndef SLCALLOC +# define SLCALLOC calloc +# endif + +# ifndef SLREALLOC +# define SLREALLOC realloc +# endif + +#endif /* _JD_MACROS_H_ */ diff --git a/vendor/most-5.1.0/src/keym.c b/vendor/most-5.1.0/src/keym.c new file mode 100644 index 0000000..1a7138c --- /dev/null +++ b/vendor/most-5.1.0/src/keym.c @@ -0,0 +1,734 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +#include +#include + +#include +#include "jdmacros.h" + +#include "most.h" +#include "keym.h" +#include "display.h" +#include "window.h" +#include "search.h" +#include "edit.h" +#include "sysdep.h" +#include "file.h" +#include "keyparse.h" + +int *Most_Digit_Arg; +static char Last_Char; +static int Edt_Direction = 1; + +static void digit_arg_cmd(void); + +static void page_down_cmd (void) +{ + int n = 1; + + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + if (n < 0) n = 1; + n = Most_C_Line + n * (Most_Win->bot - Most_Win->top + 1); + most_read_to_line (n + 50); + most_update_windows (n); +} + +static void page_up_cmd (void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + n = Most_C_Line - n * (Most_Win->bot - Most_Win->top + 1); + if (n < 1) n = 1; + + most_update_windows (n); +} + +static void page_right_cmd (void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + Most_Column = Most_Column + n * 59; + most_update_windows(Most_C_Line); +} + +static void page_left_cmd(void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + Most_Column = Most_Column - n * 59; + most_update_windows(Most_C_Line); +} + +static void column_right_cmd (void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + Most_Column = Most_Column + n; + most_update_windows(Most_C_Line); +} + +static void column_left_cmd(void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + Most_Column = Most_Column - n; + most_update_windows(Most_C_Line); +} + +static void next_line_cmd(void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + + most_read_to_line (Most_C_Line + n + 50); + most_update_windows(Most_C_Line + n); +} + +static void previous_line_cmd(void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + + most_update_windows(Most_C_Line - n); +} + +static void tail_mode_cmd (void) +{ + Most_Tail_Mode = 1; + + do + { + if (0 != most_read_file_dsc (-1, 1)) + most_update_windows (-1); + + most_message ("Most Tail Mode-- MOST keys are still active.", 0); + most_put_message (); + + most_point_cursor (); + SLsmg_refresh (); + } + while (0 == SLang_input_pending (15)); + Most_Tail_Mode = 0; +} + +static void top_of_buffer_cmd(void) +{ + most_update_windows(1); +} + +static void end_of_buffer_cmd(void) +{ + unsigned int count = 0; + /* This will loop forever if the file is changing too fast. */ + while ((Most_Buf->fd != -1) + && (count < 5) + && (0 != most_read_file_dsc(-1, 1))) + count++; + most_update_windows (-1); + Most_Curs_Offset = (Most_Eob - Most_Beg); +} +#ifdef unix +# include +#endif +static void sys_spawn_cmd(void) +{ +#ifdef IBMPC_SYSTEM + most_message ("Not implemented.", 1); +#else + int update = 0; +# ifndef VMS + static int can_suspend = -1; + + if (can_suspend == -1) + { + can_suspend = 0; +# ifdef SIGTSTP + if (SIG_DFL == SLsignal (SIGTSTP, SIG_DFL)) + can_suspend = 1; +# endif + } + if (can_suspend == 0) + { + most_message ("Shell forbids suspension.", 1); + return; + } +# endif + + if (Most_Secure_Mode || Most_Captive_Mode) + { + most_message ("Operation not permitted by this account.", 1); + return; + } + most_reset_tty(); + most_reset_display(); +# ifdef VMS + if (Last_Char == '\032') exit(0); + if (most_do_shell_command()) update = 1; /* scroll region reset by message facility */ +# else +# ifdef SIGTSTP + kill(0, SIGTSTP); +# endif + update = 1; +# endif + most_init_tty(); + most_init_display (); + if (update) most_redraw_display(); +#endif /* IBMPC_SYSTEM */ +} + +static void redraw_cmd(void) +{ + most_redraw_display(); +} + +static int read_integer (char *prompt, MOST_INT *n) +{ + int status; + Most_Mini_Buf[0] = 0; + + status = most_read_from_minibuffer(prompt, NULL, (char *) Most_Mini_Buf, MOST_MINI_BUF_LEN); + if (status < 0) + return -1; + + if (1 != sscanf((char *) Most_Mini_Buf, MOST_INT_D_FMT, n)) + { + most_message ("Expecting an integer", 1); + return -1; + } + + Most_Mini_Buf[0] = 0; + return 0; +} + +static void goto_line_cmd(void) +{ + MOST_INT n; + + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + else + { + if (-1 == read_integer ("Goto Line: ", &n)) + return; + } + most_update_windows ((int)n); +} + +static void goto_percent_cmd(void) +{ + unsigned char *pos; + MOST_INT n; + + if (Most_Digit_Arg != NULL) n = *Most_Digit_Arg; + else + { + if (-1 == read_integer ("Goto Percent: ", &n)) + return; + } + + if (n < 0) n = 0; else if (n > 100) n = 100; + if (Most_Buf->fd != -1) most_read_file_dsc(-1, 1); + pos = Most_Beg + (n * (Most_Eob - Most_Beg))/100; + n = most_what_line(pos); + most_update_windows (n); +} + +static void set_mark_cmd(void) +{ + Most_Buf->mark = Most_C_Line; + most_message("Mark Set.",0); +} + +static void goto_mark_cmd(void) +{ + int mark = Most_Buf->mark; + Most_Buf->mark = Most_C_Line; + most_update_window(mark); + most_message("Mark Set.",0); +} + +static void one_window_cmd(void) +{ + most_one_window(); +} + +static void two_window_cmd(void) +{ + most_two_windows(); +} + +static void del_window_cmd(void) +{ + most_delete_window(); +} + +static void other_window_cmd(void) +{ + int n = 1; + if (Most_Digit_Arg != (int *) NULL) n = *Most_Digit_Arg; + most_other_window(n); +} + +static void find_next_cmd(void) +{ + MOST_INT col, line, n = 1; + unsigned long ofs; + + if (Most_Digit_Arg != NULL) n = *Most_Digit_Arg; + line = most_search ((Most_Beg + Most_Curs_Offset) + Most_Search_Dir, n, &col); + if (line < 1) return; + + ofs = Most_Curs_Offset; + + if ((line < Most_Win->beg_line) || (line > Most_Win->beg_line + Most_Win->bot - Most_Win->top)) + most_update_window(line); + + Most_Curs_Offset = ofs; + + Most_Curs_Row = line - Most_C_Line + 1; + Most_Curs_Col = col; +} + +static void find_next_opposite_dir_cmd (void) +{ + Most_Search_Dir = -Most_Search_Dir; + find_next_cmd (); + Most_Search_Dir = -Most_Search_Dir; +} + +static void search_cmd_dir (char *prompt, int dir) +{ + char buf[MOST_SEARCH_BUF_LEN]; + + if (-1 == most_read_from_minibuffer(prompt, NULL, buf, MOST_SEARCH_BUF_LEN)) + return; + + Most_Search_Dir = dir; + if (*buf) + strcpy (Most_Search_Str, buf); /* no buffer overflow here */ + Most_Curs_Offset = Most_C_Offset; + find_next_cmd (); +} + +static void search_cmd(void) +{ + char *prompt = "Regexp-Search: "; + if (Most_Do_Regexp_Search == 0) + prompt += 7; + search_cmd_dir (prompt,1); +} + +static void search_back_cmd(void) +{ + char *prompt = "Regexp-Search Backwards: "; + if (Most_Do_Regexp_Search == 0) + prompt += 7; + search_cmd_dir (prompt, -1); +} + +static void help_cmd(void) +{ + most_do_help_command(); +} + +static void find_file_cmd(void) +{ + most_user_get_file(); +} + +static void time_cmd(void) +{ + most_message(most_get_time(),0); +} + +static void toggle_width_cmd(void) +{ + if (SLtt_Screen_Cols == 80) + { + if (!Most_Restore_Width_To) Most_Restore_Width_To = 80; + most_set_width(132, 1); + } + else if (SLtt_Screen_Cols == 132) + { + if (!Most_Restore_Width_To) Most_Restore_Width_To = 132; + most_set_width(80, 1); + } +} + +static void edt_forward_cmd(void) +{ + Edt_Direction = 1; +} + +static void edt_back_cmd(void) +{ + Edt_Direction = 0; +} + +static void edt_page_cmd(void) +{ + if (Edt_Direction == 0) + { + page_up_cmd(); + } + else + { + page_down_cmd(); + } +} + +static void edt_line_cmd(void) +{ + if (Edt_Direction == 0) + { + previous_line_cmd(); + } + else + { + next_line_cmd(); + } +} + +static void edt_find_cmd(void) +{ + if (Edt_Direction == 0) + { + search_back_cmd(); + } + else + { + search_cmd(); + } +} + +static void edt_find_next_cmd(void) +{ + if (Edt_Direction == 0) + { + Most_Search_Dir = -1; + } + else + { + Most_Search_Dir = 1; + } + find_next_cmd(); +} + +#define A_KEY(s, f) {s, (int (*)(void)) f} +SLKeymap_Function_Type Most_Functions [] = +{ + A_KEY("edit", most_edit_cmd), + A_KEY("suspend", sys_spawn_cmd), + A_KEY("next_file", most_next_file), + A_KEY("toggle_options", most_toggle_options), + A_KEY("toggle_lock", most_toggle_lock), + A_KEY("extended_key", most_extended_key_cmd), + A_KEY("toggle_case", most_toggle_case), + A_KEY("delete_file", most_delete_file_cmd), + A_KEY("bob", top_of_buffer_cmd), + A_KEY("delete_window", del_window_cmd), + A_KEY("digit_arg", digit_arg_cmd), + A_KEY("down", next_line_cmd), + A_KEY("edt_backward", edt_back_cmd), + A_KEY("edt_find", edt_find_cmd), + A_KEY("edt_find_next", edt_find_next_cmd), + A_KEY("edt_forward", edt_forward_cmd), + A_KEY("edt_line", edt_line_cmd), + A_KEY("edt_page", edt_page_cmd), + A_KEY("eob", end_of_buffer_cmd), + A_KEY("exit", most_exit_most), + A_KEY("find_file", find_file_cmd), + A_KEY("find_next", find_next_cmd), + A_KEY("find_next_other_dir", find_next_opposite_dir_cmd), + A_KEY("goto_line", goto_line_cmd), + A_KEY("goto_mark", goto_mark_cmd), + A_KEY("goto_percent", goto_percent_cmd), + A_KEY("help", help_cmd), + A_KEY("one_window", one_window_cmd), + A_KEY("other_window", other_window_cmd), + A_KEY("page_down", page_down_cmd ), + A_KEY("page_left", page_left_cmd), + A_KEY("page_right", page_right_cmd ), + A_KEY("page_up", page_up_cmd ), + A_KEY("column_left", column_left_cmd ), + A_KEY("column_right", column_right_cmd ), + A_KEY("redraw", redraw_cmd), + A_KEY("search_backward", search_back_cmd), + A_KEY("search_forward", search_cmd), + A_KEY("set_mark", set_mark_cmd), + A_KEY("show_time", time_cmd), + A_KEY("tail_mode", tail_mode_cmd), + A_KEY("toggle_width", toggle_width_cmd), + A_KEY("two_windows", two_window_cmd), + A_KEY("up", previous_line_cmd), + {(char *) NULL, NULL} +}; + +SLKeyMap_List_Type *Most_Keymap; + +#ifdef IBMPC_SYSTEM +static void gobble_mouse_cmd(void) +{ + SLang_flush_input (); +} +#endif + +void most_init_keymaps (void) +{ + char *err = "Unable to create keymaps!"; + char esc[3], gold[5], dig[2]; + int i; + + if (NULL == (Most_Keymap = SLang_create_keymap ("Most", NULL))) + most_exit_error (err); + + Most_Keymap->functions = Most_Functions; + + esc[0] = 27; esc[2] = 0; + gold[0] = 27; gold[1] = 'O'; gold[2] = 'P'; gold[4] = 0; + dig[1] = 0; + + for (i = '0'; i <= '9'; i++) + { + dig[0] = (char) i; + esc[1] = (char) i; + gold[3] = (char) i; + SLkm_define_key (dig, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + SLkm_define_key (esc, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + SLkm_define_key (gold, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + } + + dig[0] = '-'; esc[1] = '-'; gold[3] = '-'; + SLkm_define_key (dig, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + SLkm_define_key (esc, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + SLkm_define_key (gold, (FVOID_STAR) digit_arg_cmd, Most_Keymap); + + SLkm_define_key (" ", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("$", (FVOID_STAR) sys_spawn_cmd, Most_Keymap); + SLkm_define_key ("%", (FVOID_STAR) goto_percent_cmd, Most_Keymap); + SLkm_define_key (",", (FVOID_STAR) goto_mark_cmd, Most_Keymap); + SLkm_define_key ("/", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key (":", (FVOID_STAR) most_extended_key_cmd, Most_Keymap); + SLkm_define_key ("<", (FVOID_STAR) page_left_cmd, Most_Keymap); + SLkm_define_key (">", (FVOID_STAR) page_right_cmd, Most_Keymap); + SLkm_define_key ("?", (FVOID_STAR) search_back_cmd, Most_Keymap); + SLkm_define_key ("B", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("D", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("E", (FVOID_STAR) most_edit_cmd, Most_Keymap); + SLkm_define_key ("F", (FVOID_STAR) tail_mode_cmd, Most_Keymap); + SLkm_define_key ("G", (FVOID_STAR) goto_line_cmd, Most_Keymap); + SLkm_define_key ("H", (FVOID_STAR) help_cmd, Most_Keymap); + SLkm_define_key ("J", (FVOID_STAR) goto_line_cmd, Most_Keymap); + SLkm_define_key ("L", (FVOID_STAR) most_toggle_lock, Most_Keymap); + SLkm_define_key ("M", (FVOID_STAR) set_mark_cmd, Most_Keymap); + SLkm_define_key ("n", (FVOID_STAR) find_next_cmd, Most_Keymap); + SLkm_define_key ("N", (FVOID_STAR) find_next_opposite_dir_cmd, Most_Keymap); + SLkm_define_key ("O", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("Q", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("R", (FVOID_STAR) redraw_cmd, Most_Keymap); + SLkm_define_key ("S", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key ("T", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("U", (FVOID_STAR) page_up_cmd , Most_Keymap); + SLkm_define_key ("V", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("W", (FVOID_STAR) toggle_width_cmd, Most_Keymap); + SLkm_define_key ("X", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("\033$", (FVOID_STAR) sys_spawn_cmd, Most_Keymap); + SLkm_define_key ("\033<", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\033>", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); +#if !defined(IBMPC_SYSTEM) + SLkm_define_key ("\033OA", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("\033OB", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("\033OC", (FVOID_STAR) column_right_cmd, Most_Keymap); + SLkm_define_key ("\033OD", (FVOID_STAR) column_left_cmd, Most_Keymap); + SLkm_define_key ("\033OPE", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("\033OPO", (FVOID_STAR) one_window_cmd, Most_Keymap); + SLkm_define_key ("\033OPQ", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("\033OPS", (FVOID_STAR) sys_spawn_cmd, Most_Keymap); + SLkm_define_key ("\033OPV", (FVOID_STAR) del_window_cmd, Most_Keymap); + SLkm_define_key ("\033OPX", (FVOID_STAR) two_window_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033OR", (FVOID_STAR) edt_find_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033On", (FVOID_STAR) goto_mark_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033Ot", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033Ou", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033[A", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033[B", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033[C", (FVOID_STAR) page_right_cmd, Most_Keymap); + SLkm_define_key ("\033OP\033[D", (FVOID_STAR) page_left_cmd, Most_Keymap); + SLkm_define_key ("\033OQ", (FVOID_STAR) help_cmd, Most_Keymap); + SLkm_define_key ("\033OR", (FVOID_STAR) edt_find_next_cmd, Most_Keymap); + SLkm_define_key ("\033On", (FVOID_STAR) set_mark_cmd, Most_Keymap); + SLkm_define_key ("\033Op", (FVOID_STAR) edt_line_cmd, Most_Keymap); + SLkm_define_key ("\033Ot", (FVOID_STAR) edt_forward_cmd, Most_Keymap); + SLkm_define_key ("\033Ou", (FVOID_STAR) edt_back_cmd, Most_Keymap); + SLkm_define_key ("\033Ox", (FVOID_STAR) edt_page_cmd, Most_Keymap); + SLkm_define_key ("\033V", (FVOID_STAR) page_up_cmd , Most_Keymap); + SLkm_define_key ("\033[1~", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key ("\033[2~", (FVOID_STAR) goto_mark_cmd, Most_Keymap); + SLkm_define_key ("\033[28~", (FVOID_STAR) help_cmd, Most_Keymap); + SLkm_define_key ("\033[4~", (FVOID_STAR) set_mark_cmd, Most_Keymap); + SLkm_define_key ("\033[5~", (FVOID_STAR) page_up_cmd , Most_Keymap); + SLkm_define_key ("\033[6~", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("\033[A", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("\033[B", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("\033[C", (FVOID_STAR) column_right_cmd, Most_Keymap); + SLkm_define_key ("\033[D", (FVOID_STAR) column_left_cmd, Most_Keymap); + SLkm_define_key ("\033[7~", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\033[8~", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("^@", (FVOID_STAR) set_mark_cmd, Most_Keymap); +#else + SLkm_define_key ("^@H", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("^@P", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("^@M", (FVOID_STAR) column_right_cmd, Most_Keymap); + SLkm_define_key ("^@K", (FVOID_STAR) column_left_cmd, Most_Keymap); + SLkm_define_key ("^@Q", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("^@I", (FVOID_STAR) page_up_cmd, Most_Keymap); + SLkm_define_key ("^@G", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("^@O", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + + SLkm_define_key ("\xE0H", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("\xE0P", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("\xE0M", (FVOID_STAR) column_right_cmd, Most_Keymap); + SLkm_define_key ("\xE0K", (FVOID_STAR) column_left_cmd, Most_Keymap); + SLkm_define_key ("\xE0Q", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("\xE0I", (FVOID_STAR) page_up_cmd, Most_Keymap); + SLkm_define_key ("\xE0G", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\xE0O", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("\033[M", (FVOID_STAR) gobble_mouse_cmd, Most_Keymap); +#endif + SLkm_define_key ("\t", (FVOID_STAR) page_right_cmd, Most_Keymap); + SLkm_define_key ("^", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("^?", (FVOID_STAR) page_up_cmd , Most_Keymap); + SLkm_define_key ("^D", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("^F", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key ("^H", (FVOID_STAR) help_cmd, Most_Keymap); + SLkm_define_key ("^KE", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("^KG", (FVOID_STAR) find_file_cmd, Most_Keymap); + SLkm_define_key ("^K^B", (FVOID_STAR) set_mark_cmd, Most_Keymap); + SLkm_define_key ("^K^J", (FVOID_STAR) goto_mark_cmd, Most_Keymap); + SLkm_define_key ("^K^M", (FVOID_STAR) goto_mark_cmd, Most_Keymap); + SLkm_define_key ("^L", (FVOID_STAR) redraw_cmd, Most_Keymap); + SLkm_define_key ("^M", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("^N", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("^P", (FVOID_STAR) previous_line_cmd, Most_Keymap); + SLkm_define_key ("^R", (FVOID_STAR) redraw_cmd, Most_Keymap); + SLkm_define_key ("^T", (FVOID_STAR) time_cmd, Most_Keymap); + SLkm_define_key ("^U", (FVOID_STAR) page_up_cmd , Most_Keymap); + SLkm_define_key ("^V", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("^W0", (FVOID_STAR) del_window_cmd, Most_Keymap); + SLkm_define_key ("^W1", (FVOID_STAR) one_window_cmd, Most_Keymap); + SLkm_define_key ("^W2", (FVOID_STAR) two_window_cmd, Most_Keymap); + SLkm_define_key ("^WO", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("^X0", (FVOID_STAR) del_window_cmd, Most_Keymap); + SLkm_define_key ("^X1", (FVOID_STAR) one_window_cmd, Most_Keymap); + SLkm_define_key ("^X2", (FVOID_STAR) two_window_cmd, Most_Keymap); + SLkm_define_key ("^XO", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("^X^C", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("^X^F", (FVOID_STAR) find_file_cmd, Most_Keymap); + SLkm_define_key ("^Z", (FVOID_STAR) sys_spawn_cmd, Most_Keymap); + SLkm_define_key ("b", (FVOID_STAR) end_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("d", (FVOID_STAR) page_down_cmd, Most_Keymap); + SLkm_define_key ("e", (FVOID_STAR) most_edit_cmd, Most_Keymap); + SLkm_define_key ("f", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key ("g", (FVOID_STAR) goto_line_cmd, Most_Keymap); + SLkm_define_key ("j", (FVOID_STAR) goto_line_cmd, Most_Keymap); + SLkm_define_key ("l", (FVOID_STAR) most_toggle_lock, Most_Keymap); + SLkm_define_key ("m", (FVOID_STAR) set_mark_cmd, Most_Keymap); + SLkm_define_key ("n", (FVOID_STAR) find_next_cmd, Most_Keymap); + SLkm_define_key ("o", (FVOID_STAR) other_window_cmd, Most_Keymap); + SLkm_define_key ("q", (FVOID_STAR) most_exit_most, Most_Keymap); + SLkm_define_key ("r", (FVOID_STAR) redraw_cmd, Most_Keymap); + SLkm_define_key ("s", (FVOID_STAR) search_cmd, Most_Keymap); + SLkm_define_key ("t", (FVOID_STAR) top_of_buffer_cmd, Most_Keymap); + SLkm_define_key ("v", (FVOID_STAR) next_line_cmd, Most_Keymap); + SLkm_define_key ("w", (FVOID_STAR) toggle_width_cmd, Most_Keymap); + SLkm_define_key ("x", (FVOID_STAR) most_exit_most, Most_Keymap); + if (SLang_get_error()) most_exit_error (err); + + (void) most_load_user_keymaps (); +} + +static void sldo_key (void) +{ + SLang_Key_Type *key; + + key = SLang_do_key (Most_Keymap, most_getkey); + SLKeyBoard_Quit = 0; + SLang_set_error (0); + Last_Char = SLang_Last_Key_Char; + + if ((key == NULL) || (key->f.f == NULL) || (key->type != SLKEY_F_INTRINSIC)) + { + SLtt_beep (); + } + else (((void (*)(void))(key->f.f)) ()); +} + +static void digit_arg_cmd(void) +{ + char num[15], ch; + int j = 0; + static int digits; + + num[j++] = Last_Char; + ch = most_getkey(); + while ((ch >= '0') && (ch <= '9')) + { + if (j == 15) return; + + num[j++] = ch; + ch = most_getkey(); + } + + if (((j == 1) && (Last_Char != '-')) || (j > 1)) + { + num[j] = '\0'; + sscanf(num,"%d",&digits); + Most_Digit_Arg = &digits; + } + Last_Char = ch; + SLang_ungetkey (ch); + sldo_key (); +} + +void most_execute_key (void) +{ + static int refresh_pending = 0; + + if (Most_Want_Exit) return; + + most_check_minibuffer (); + if (Most_Mini_Buf[0] != '\0') most_put_message (); + Most_Digit_Arg = (int *) NULL; + + most_point_cursor (); + + if (SLang_input_pending (0)) + refresh_pending++; + else + refresh_pending = 0; + + if ((refresh_pending == 0) || (refresh_pending > 4)) + { + refresh_pending = 0; + SLsmg_refresh (); + } + + sldo_key (); +} diff --git a/vendor/most-5.1.0/src/keym.h b/vendor/most-5.1.0/src/keym.h new file mode 100644 index 0000000..72d788c --- /dev/null +++ b/vendor/most-5.1.0/src/keym.h @@ -0,0 +1,84 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +extern void most_init_keymaps (void); +extern void most_execute_key (void); +extern int *Most_Digit_Arg; +extern void most_do_help_command (void); + +/* These are in cmd.c */ +extern void most_extended_key_cmd(void); +extern void most_next_file (void); +extern void most_toggle_case (void); +extern void most_delete_file_cmd (void); +extern void most_toggle_options (void); +extern void most_toggle_research (void); + +#if 0 +extern void ctrl_x_map_cmd(void); +extern void ctrl_k_map_cmd(void); +extern void ctrl_w_map_cmd(void); +extern void pf1_map_cmd(void); +extern void pf1_esc_map_cmd(void); +extern void dec_extended_map_cmd(void); +extern void esc_map_cmd(void); +extern void page_down_cmd(void); +extern void search_cmd(void); +extern void next_line_cmd(void); +extern void previous_line_cmd(void); +extern void extended_cmd_cmd(void); +extern void redraw_cmd(void); +extern void goto_line_cmd(void); +extern void time_cmd(void); +extern void page_up_cmd(void); +extern void page_up_cmd(void); +extern void column_left_cmd(void); +extern void column_right_cmd(void); +extern void page_right_cmd(void); +extern void sys_spawn_cmd(void); +extern void set_mark_cmd(void); +extern void top_of_buffer_cmd(void); +extern void goto_mark_cmd(void); +extern void search_back_cmd(void); +extern void find_next_cmd(void); +extern void end_of_buffer_cmd(void); +extern void exit_cmd(void); +extern void one_window_cmd(void); +extern void two_window_cmd(void); +extern void del_window_cmd(void); +extern void other_window_cmd(void); +extern void O_map_cmd(void); +extern void find_file_cmd(void); +extern void digit_arg_cmd(void); +extern void edit_cmd(void); +extern void toggle_width_cmd(void); +extern void goto_percent_cmd(void); +extern void edt_page_cmd(void); +extern void edt_forward_cmd(void); +extern void edt_back_cmd(void); +extern void edt_line_cmd(void); +extern void edt_find_cmd(void); +extern void edt_find_next_cmd(void); + +extern int do_extended_key(void); +extern int do_extended_cmd(void); +extern void do_help_command(void); +extern void execute_key(void); + +#endif diff --git a/vendor/most-5.1.0/src/keyparse.c b/vendor/most-5.1.0/src/keyparse.c new file mode 100644 index 0000000..71cd479 --- /dev/null +++ b/vendor/most-5.1.0/src/keyparse.c @@ -0,0 +1,320 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include + +#ifdef HAVE_STDLIB_H +# include +#endif + +#ifdef __unix__ +# ifndef MOST_SYSTEM_INITFILE +# define MOST_SYSTEM_INITFILE "/etc/most.conf" +# endif +#endif + +/* parses user key definition file */ + +/* The file is assumed to have a simple format: + * + * set "keyname" function + * unset "keyname" + * + * For example: + * + * unsetkey "^K" + * setkey exit "^Kx" + * + * Comments extend from the first '%' character to the end of the line. + */ + +#include +#include "jdmacros.h" +#include "most.h" +#include "keyparse.h" +#include "display.h" + +static unsigned int Line_Num; + +static void parse_error (char *s) +{ + fprintf(stderr, "Most: Error reading config file on line %u.\n%s\n", + Line_Num, s); + + most_exit_error (NULL); +} + +static int unsetkey_fun (int, SLcmd_Cmd_Table_Type *); +static int setkey_fun (int, SLcmd_Cmd_Table_Type *); +static int color_fun (int, SLcmd_Cmd_Table_Type *); +static int mono_fun (int, SLcmd_Cmd_Table_Type *); + +static SLcmd_Cmd_Type Startup_File_Cmds[] = +{ + {unsetkey_fun, "unsetkey", "S"}, + {setkey_fun, "setkey", "SS"}, + {color_fun, "color", "SSS"}, + {mono_fun, "mono", "SSsss"}, + {NULL, "", ""} +}; +static SLcmd_Cmd_Table_Type Cmd_Table; + +static int setkey_fun (int argc, SLcmd_Cmd_Table_Type *table) /*{{{*/ +{ + char *fun = table->string_args[1]; + char *key = table->string_args[2]; + + (void) argc; + if (NULL == SLang_find_key_function(fun, Most_Keymap)) + { + parse_error ("Undefined function"); + } + + if (0 != SLang_define_key (key, fun, Most_Keymap)) + parse_error ("Error setting key"); + + return 0; +} + +static int unsetkey_fun (int argc, SLcmd_Cmd_Table_Type *table) /*{{{*/ +{ + char *key = table->string_args[1]; + + (void) argc; + + SLang_undefine_key (key, Most_Keymap); + return 0; +} + +static int parse_file (char *file) +{ + char buf[512]; + FILE *fp; + + if (NULL == (fp = fopen (file, "r"))) + return 1; + + Cmd_Table.table = Startup_File_Cmds; + + Line_Num = 0; + while (NULL != fgets (buf, sizeof (buf), fp)) + { + Line_Num++; + (void) SLcmd_execute_string (buf, &Cmd_Table); + if (SLang_get_error()) + parse_error ("Undefined keyword"); + } + + fclose (fp); + if (SLang_get_error ()) + { + SLang_set_error(0); + return -1; + } + return 0; +} + +int most_load_user_keymaps (void) +{ +#ifndef VMS + char filebuf[MAX_PATHLEN]; + unsigned int len; +#endif + char *file; + +#ifdef MOST_SYSTEM_INITFILE + if (MOST_SYSTEM_INITFILE != NULL) + { + int status; + status = parse_file (MOST_SYSTEM_INITFILE); + if (status == -1) + return -1; + } +#endif + + if (NULL == (file = getenv ("MOST_INITFILE"))) + { +#ifdef VMS + file = "SYS$LOGIN:MOST.RC"; +#else + *filebuf = 0; + file = getenv ("HOME"); + if (file == NULL) + return -1; + + len = strlen (file); + if (len + 8 >= sizeof (filebuf)) /* 8 for strlen("/.mostrc") */ + return -1; + + strcpy (filebuf, file); + file = filebuf; + + if (len && (file[len - 1] == '/')) + len--; + strcpy (file + len, "/.mostrc"); +#endif + } + return parse_file (file); +} + +/* The following code was borrowed from slrn */ +/*{{{ Setting Color/Mono Attributes */ + +typedef struct /*{{{*/ +{ + char *name; + int value; + char *fg, *bg; + SLtt_Char_Type mono; +} + +/*}}}*/ +Color_Handle_Type; + +/* default colors -- suitable for a color xterm */ + +static Color_Handle_Type Color_Handles[] = /*{{{*/ +{ + {"normal", 0, "default", "default", 0}, + {"status", MOST_STATUS_COLOR, "yellow", "blue", SLTT_REV_MASK}, + {"underline", MOST_ULINE_COLOR, "brightgreen", "default", SLTT_ULINE_MASK}, + {"overstrike", MOST_BOLD_COLOR, "brightred", "default", SLTT_BOLD_MASK}, + + {NULL, -1, NULL, NULL, 0} +}; + +static int set_object_color (char *name, char *fg, char *bg) +{ + Color_Handle_Type *ct = Color_Handles; + + while (ct->name != NULL) + { + if (!strcmp (ct->name, name)) + { + SLtt_set_color (ct->value, name, fg, bg); + return 0; + } + ct++; + } + + parse_error ("Undefined color object"); + return -1; +} + +static int color_fun (int argc, SLcmd_Cmd_Table_Type *table) +{ + char *what = table->string_args[1]; + char *fg = table->string_args[2]; + char *bg = table->string_args[3]; + + (void) argc; + return set_object_color (what, fg, bg); +} + +static int mono_fun (int argc, SLcmd_Cmd_Table_Type *table) +{ + char *what = table->string_args[1]; + char *attr; + int i; + + Color_Handle_Type *ct = Color_Handles; + + while (ct->name != NULL) + { + if (!strcmp (ct->name, what)) + { + SLtt_Char_Type mono_attr = 0; + for (i = 2; i < argc; i++) + { + attr = table->string_args[i]; + if (!strcmp (attr, "bold")) mono_attr |= SLTT_BOLD_MASK; + else if (!strcmp (attr, "blink")) mono_attr |= SLTT_BLINK_MASK; + else if (!strcmp (attr, "underline")) mono_attr |= SLTT_ULINE_MASK; + else if (!strcmp (attr, "reverse")) mono_attr |= SLTT_REV_MASK; + else if (!strcmp (attr, "none")) mono_attr = 0; + else + { + parse_error ("Undefined mono attribute"); + return -1; + } + } + SLtt_set_mono (ct->value, NULL, mono_attr); + return 0; + } + ct++; + } + parse_error ("Undefined color object"); + return -1; +} + +static char *Ansi_Color_Map[9] = +{ + "black", + "red", + "green", + "yellow", + "blue", + "magenta", + "cyan", + "white", + "default" +}; + +void most_setup_colors (void) +{ + Color_Handle_Type *h; + int i; + int fg, bg, at; + + for (i = 1; i < 128; i++) + { + SLtt_set_color (i, NULL, "default", "default"); + SLtt_set_mono (i, NULL, 0); + } + + for (at = 0; at < 9; at++) + { + for (fg = 0; fg < 9; fg++) + { + for (bg = 0; bg < 9; bg++) + { + i = fg + 9*(bg + 9*at); + if (i == 0) + continue; + i += MOST_EMBEDDED_COLOR_OFFSET; + SLtt_set_color (i, NULL, Ansi_Color_Map[fg], Ansi_Color_Map[bg]); + } + } + } + + h = Color_Handles; + while (h->name != NULL) + { + /* if (h->value != 0)*/ /* Let COLORFGBG apply to initial color */ + SLtt_set_color (h->value, NULL, h->fg, h->bg); + SLtt_set_color (h->value+MOST_EMBEDDED_COLOR_OFFSET, NULL, h->fg, h->bg); + SLtt_set_mono (h->value, NULL, h->mono); + SLtt_set_mono (h->value+MOST_EMBEDDED_COLOR_OFFSET, NULL, h->mono); + + h++; + } +} diff --git a/vendor/most-5.1.0/src/keyparse.h b/vendor/most-5.1.0/src/keyparse.h new file mode 100644 index 0000000..01697a3 --- /dev/null +++ b/vendor/most-5.1.0/src/keyparse.h @@ -0,0 +1,21 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +extern SLKeyMap_List_Type *Most_Keymap; +extern int most_load_user_keymaps (void); diff --git a/vendor/most-5.1.0/src/line.c b/vendor/most-5.1.0/src/line.c new file mode 100644 index 0000000..ce4226d --- /dev/null +++ b/vendor/most-5.1.0/src/line.c @@ -0,0 +1,687 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include + +#include +#include +#include "jdmacros.h" + +#include "most.h" +#include "line.h" +#include "window.h" +#include "display.h" + +int Most_Tab_Width = 8; + +int Most_Selective_Display = 0; +int Most_Show_Wrap_Marker = 1; + +#define IS_BYTE_PRINTABLE(b) \ + ((((b) >= ' ') && ((b) < 0x7F)) \ + || ((Most_UTF8_Mode == 0) && ((b) >= SLsmg_Display_Eight_Bit))) + +/* take 16 binary characters and put them in displayable form */ +static void binary_format_line (unsigned char *beg, unsigned char *end, + char *buf) +{ + unsigned char *b; + char *s, *s1; + unsigned char ch; + int count; + + count = 0; + b = beg; + s = buf; + + while (b < end) + { + if (count == 4) + { + *s++ = ' '; + count = 0; + } + count++; + + ch = *b++; + + if ((Most_V_Opt == 0) + || (ch & 0x80)) + { + sprintf (s, "%02X", ch); + s += 2; + continue; + } + + if ((ch >= ' ') && (ch < 0x7F)) + { + *s++ = ' '; + *s++ = (char) ch; + continue; + } + + *s++ = '^'; + if (ch < ' ') ch += '@'; + else ch = '?'; + *s++ = ch; + } + + s1 = buf + (9 * 4) + 4; + while (s < s1) + *s++ = ' '; + + b = beg; + while (b < end) + { + ch = *b++; + if (IS_BYTE_PRINTABLE(ch)) + { + *s++ = ch; + continue; + } + *s++ = '.'; + } + *s = 0; +} + +static void output_binary_formatted_line (void) +{ + unsigned char *beg, *end; + char buf[256]; + + beg = Most_Beg + Most_C_Offset; + end = beg + 16; + + if (end > Most_Eob) end = Most_Eob; + + sprintf (buf, "0x%08lX: ", (unsigned long) Most_C_Offset); + binary_format_line (beg, end, buf + 12); + SLsmg_write_string (buf); + SLsmg_erase_eol (); +} + +/* Here *begp points to the char after \e. + * The general escape sequence parsed here is assumed to look like: + * \e[ XX ; ... m + * If 30 <= XX <= 37, then it specifies the foreground color + * If 40 <= XX <= 47, then a background color is specified + * If 0 <= XX <= 8, then an attribute (e.g, 8) is specified. + * These numbers will be encoded as: + * offset + (FG-30 + 8*(BG-40 + 9*attribute)) + */ +int most_parse_color_escape (unsigned char **begp, unsigned char *end, int *colorp) +{ + unsigned char *beg = *begp; + int fg = 38, bg = 48, at = 0; + int xx; + + if ((beg >= end) || (*beg != '[')) + return -1; + + beg++; /* skip [ */ +#if 1 + if ((beg < end) && (*beg == 'K')) + { + if (colorp != NULL) *colorp = -1; + *begp = beg + 1; + return 0; + } +#endif + + while (1) + { + xx = 0; + while ((beg < end) && isdigit (*beg)) + { + xx = xx*10 + (*beg - '0'); + beg++; + } + if ((xx >= 0) && (xx <= 8)) + at = xx; + else if ((xx >= 20) && (xx <= 28)) + xx = 0; + else if ((xx >= 30) && (xx <= 37)) + fg = xx; + else if ((xx >= 40) && (xx <= 47)) + bg = xx; + else return -1; + + if ((beg < end) && (*beg == ';')) + { + beg++; + continue; + } + + if ((beg < end) && ((*beg == 'm') || (*beg == ']'))) + { + *begp = beg + 1; + if (colorp != NULL) + { + if ((fg != 38) || (bg != 48)) + xx = ((fg-30) + 9*((bg-40) + 9*at)); + if (xx != 0) + xx += MOST_EMBEDDED_COLOR_OFFSET; + *colorp = xx; + } + return 0; + } + return -1; + } +} + +typedef struct +{ + unsigned char *bytes; + unsigned char byte; /* used if bytes is NULL */ + unsigned int len; + int color; +} +Multibyte_Cell_Type; + +static int most_analyse_line (unsigned char *begg, unsigned char *endd, + Multibyte_Cell_Type *cells, unsigned int num_cols, int *start_colorp) +{ + unsigned char *beg, *end; + unsigned int min_col, max_col, prev_width; + unsigned int col, max_col_reached; + int default_attr; + Multibyte_Cell_Type *cell, *max_cell; + + beg = begg; + end = endd; + col = max_col_reached = 0; + cell = cells; + max_cell = cell; + min_col = Most_Column - 1; + max_col = min_col + num_cols; + + default_attr = *start_colorp; + prev_width = 1; + while (beg < end) + { + int attr = default_attr; + unsigned char ch; + unsigned char *pch = beg++; + char buf[16]; + + if ('\n' == (ch = *pch)) + break; + + if ((ch == '\r') && (Most_V_Opt == 0)) + { + if (col > max_col_reached) max_col_reached = col; + col = 0; + prev_width = 1; + continue; + } + + if ((ch == '\b') && (Most_V_Opt == 0)) + { + if (col > max_col_reached) max_col_reached = col; + if (col < prev_width) + col = 0; + else + col -= prev_width; + continue; + } + + if (col < max_col_reached) /* overstrike */ + { + attr = MOST_BOLD_COLOR; + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + if (cell->bytes[0] == '_') + attr = MOST_ULINE_COLOR; + else if (ch == '_') + { + cell->color = MOST_ULINE_COLOR; + col++; + continue; + } + } + /* drop */ + } + + if (IS_BYTE_PRINTABLE(ch)) + { + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->bytes = pch; + cell->len = 1; + cell->color = attr; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + prev_width = 1; + continue; + } + + if ((ch == '\t') && (Most_T_Opt == 0) && (Most_Tab_Width)) + { + int nspaces = Most_Tab_Width * (col/Most_Tab_Width + 1) - col; + prev_width = nspaces; + while (nspaces > 0) + { + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->bytes = &cell->byte; + cell->byte = ' '; + cell->color = attr; + cell->len = 1; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + nspaces--; + } + continue; + } +#if 1 + if ((ch == 033) && (Most_V_Opt == 0)) + { + int color; + if (0 == most_parse_color_escape (&beg, end, &color)) + { + if (color != -1) default_attr = color; + continue; + } + /* drop */ + } +#endif + + if (ch & 0x80) + { + SLwchar_Type wch; + if ((Most_UTF8_Mode) + && (NULL != SLutf8_decode (pch, end, &wch, NULL))) + { + int width = SLwchar_wcwidth (wch); + beg = SLutf8_skip_chars (pch, end, 1, NULL, 1); + + prev_width = width; + if (width == 0) + { + col--; + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->len += beg-pch; + } + col++; + continue; + } + + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->bytes = pch; + cell->color = attr; + cell->len = beg - pch; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + if (width > 1) + { + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->bytes = pch; + cell->color = attr; + cell->len = 0; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + } + continue; + } + + /* Otherwise, this displays as and takes up 4 character cells */ + sprintf (buf, "<%02X>", (unsigned int) ch); + prev_width = 4; + /* drop */ + } + else + { + /* Otherwise we have a Ctrl-char displayed as ^X */ + if (ch == 0x7F) ch = '?'; + else ch += '@'; + + sprintf (buf, "^%c", ch); + prev_width = 2; + } + + pch = (unsigned char *)buf; + while (*pch) + { + if ((col >= min_col) && (col < max_col)) + { + cell = cells + (col-min_col); + cell->bytes = &cell->byte; + cell->byte = *pch; + cell->color = attr; + cell->len = 1; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + pch++; + } + } + + if (col < max_col_reached) + col = max_col_reached; + else + max_col_reached = col; + + /* Now add "..." if selective display. To do that, the next line needs to + * be dealt with to determine whether or not it will be hidden. + */ + if (Most_Selective_Display + && (Most_W_Opt == 0) + && (beg < Most_Eob) + && ((col >= min_col) && (col < max_col))) + { + if (*beg == '\n') beg++; + + while ((beg < Most_Eob) + && ((*beg == ' ') || (*beg == '\t') || (*beg == '\r'))) + beg++; + + if ((beg >= Most_Eob) || (*beg == '\n') + || (most_apparant_distance(beg) >= Most_Selective_Display)) + { + max_col_reached = col + 3; + while (col < max_col_reached) + { + if (col < max_col) + { + cell = cells + (col-min_col); + cell->bytes = &cell->byte; + cell->byte = '.'; + cell->color = 0; + cell->len = 1; + if (cell >= max_cell) + max_cell = cell + 1; + } + col++; + } + } + } + *start_colorp = default_attr; + return max_cell - cells; +} + +static void display_cells (Multibyte_Cell_Type *cell, unsigned int n, char dollar) +{ + Multibyte_Cell_Type *cell_max; + int last_color = -1; + + cell_max = cell + n; + while (cell < cell_max) + { + if (last_color != cell->color) + { + last_color = cell->color; + SLsmg_set_color (last_color); + } + SLsmg_write_chars (cell->bytes, cell->bytes + cell->len); + cell++; + } + + if (last_color != 0) + SLsmg_set_color (0); + + SLsmg_erase_eol (); + if (dollar) + { + SLsmg_gotorc (SLsmg_get_row (), SLtt_Screen_Cols-1); + SLsmg_write_nchars (&dollar, 1); + } +} + +void most_display_line (int reset) +{ + unsigned char *beg, *end; + unsigned char dollar; + static Multibyte_Cell_Type *cells; + static unsigned int num_cells; + unsigned int screen_cols; + unsigned int num_cells_set; + static int last_color = 0; /* used for a line that wrapped */ + + if (Most_B_Opt) + { + output_binary_formatted_line (); + return; + } + + screen_cols = SLtt_Screen_Cols; + if (num_cells != screen_cols + 1) + { + num_cells = screen_cols + 1; + + SLfree ((char *) cells); + if (NULL == (cells = (Multibyte_Cell_Type *)SLcalloc (num_cells, sizeof (Multibyte_Cell_Type)))) + most_exit_error ("Out of memory"); + } + + (void) most_extract_line (&beg, &end); + + if (reset || (Most_W_Opt == 0)) + last_color = 0; + num_cells_set = most_analyse_line (beg, end, cells, num_cells, &last_color); + + dollar = 0; + if (Most_W_Opt) + { + if (Most_Show_Wrap_Marker + && (end < Most_Eob) + && (*end != '\n')) + dollar = '\\'; + } + else if (num_cells_set > screen_cols) + dollar = '$'; + + display_cells (cells, num_cells_set, dollar); +} + +/* given a position in a line, return apparent distance from bol + expanding tabs, etc... up to pos */ +int most_apparant_distance (unsigned char *pos) +{ + int i, prev_width; + unsigned char *save_pos, ch; + unsigned int save_offset; + + save_offset = Most_C_Offset; + save_pos = pos; + Most_C_Offset = (unsigned int) (pos - Most_Beg); + pos = most_beg_of_line(); + Most_C_Offset = save_offset; + + i = 0; + prev_width = 1; + while (pos < save_pos) + { + ch = *pos++; + if (IS_BYTE_PRINTABLE(ch)) + { + i++; + prev_width = 1; + continue; + } + + if ((ch == '\b') && (Most_V_Opt == 0)) + { + i -= prev_width; + if (i < 0) i = 0; + continue; + } + if ((ch == '\r') && (Most_V_Opt == 0)) + { + if (i != 1) i = 0; + prev_width = 1; + continue; + } + if ((ch == '\t') && (Most_T_Opt == 0)) + { + prev_width = Most_Tab_Width * (i/Most_Tab_Width + 1) - i; /* Most_Tab_Width column tabs */ + i += prev_width; + continue; + } + + if ((ch == 033) && (Most_V_Opt == 0) + && (0 == most_parse_color_escape (&pos, save_pos, NULL))) + continue; + + if (ch & 0x80) + { + SLwchar_Type wch; + if ((Most_UTF8_Mode) + && (NULL != SLutf8_decode (pos-1, save_pos, &wch, NULL))) + { + prev_width = SLwchar_wcwidth (wch); + pos = SLutf8_skip_chars (pos-1, save_pos, 1, NULL, 1); + i += prev_width; + continue; + } + prev_width = 4; + i += prev_width; /* */ + continue; + } + + prev_width = 2; + i += prev_width; /* ^X */ + } + return i; +} + +/* + * Returns a pointer to the num_cols'th character after the one + * pointed at b. Invisible character runs are not counted toward this + * limit, i.e. strings that represent attributes, such as "_\b" for + * underlines. + * + * If multi_column is non-zero, characters spanning more than one + * column will add their extra width to the column count. + * + * If there the end of the buffer is reached, as delimited by argument + * e, then e is returned. + */ +unsigned char *most_forward_columns (unsigned char *b, unsigned char *e, unsigned int num_cols) +{ + unsigned int col = 0; + unsigned int prev_width = 1; + + while (b < e) + { + unsigned char ch = *b++; + + if (col >=num_cols) + { + if ((ch == 033) && (Most_V_Opt == 0)) + { + while ((ch == 033) + && (0 == most_parse_color_escape (&b, e, NULL)) + && (b < e)) + ch = *b++; + } + b--; + break; + } + + if (IS_BYTE_PRINTABLE(ch)) + { + col++; + prev_width = 1; + continue; + } + + if (ch & 0x80) + { + SLwchar_Type wch; + + if ((Most_UTF8_Mode) + && (NULL != SLutf8_decode (b-1, e, &wch, NULL))) + { + b = SLutf8_skip_chars (b-1, e, 1, NULL, 1); + prev_width = SLwchar_wcwidth (wch); + col += prev_width; + continue; + } + prev_width = 4; + col += prev_width; /* */ + continue; + } + + if (ch == '\b') + { + if (Most_V_Opt == 0) + { + if (col < prev_width) + col = 0; + else + col -= prev_width; + } + else col += 2; /* ^H */ + continue; + } + + if (ch == '\r') + { + if (Most_V_Opt == 0) + { + prev_width = 1; + col = 0; + } + else col += 2; /* ^M */ + continue; + } + + if (ch == '\t') + { + if (Most_T_Opt == 0) + { + prev_width = Most_Tab_Width * (col/Most_Tab_Width + 1) - col; + col += prev_width; + } + else + col += 2; /* ^I */ + continue; + } + + if ((ch == 033) && (Most_V_Opt == 0) + && (0 == most_parse_color_escape (&b, e, NULL))) + continue; + + /* Ctrl-char ^X */ + prev_width = 2; + col += prev_width; + } + return b; +} diff --git a/vendor/most-5.1.0/src/line.h b/vendor/most-5.1.0/src/line.h new file mode 100644 index 0000000..062a59c --- /dev/null +++ b/vendor/most-5.1.0/src/line.h @@ -0,0 +1,35 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef _DAVIS_LINE_H_ +# define _DAVIS_LINE_H_ +#if 0 +extern int most_analyse_line(unsigned char *, unsigned char *, char *, char *); +extern void most_output(unsigned char *, unsigned int, unsigned char *, unsigned char); +#endif + +extern void most_display_line(int); +extern int most_apparant_distance(unsigned char *); +extern unsigned char *most_forward_columns (unsigned char *b, unsigned char *e, unsigned int num_cols); +extern int most_parse_color_escape (unsigned char **begp, unsigned char *end, int *colorp); + +extern int Most_Show_Wrap_Marker; + +#endif + diff --git a/vendor/most-5.1.0/src/main.c b/vendor/most-5.1.0/src/main.c new file mode 100644 index 0000000..d2bc5e2 --- /dev/null +++ b/vendor/most-5.1.0/src/main.c @@ -0,0 +1,54 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include +#include "most.h" + +int main(int argc, char *argv[]) +{ +#if 0 + static volatile int debug_me = 1; + while (debug_me == 1) + { + sleep (1); + } +#endif + if (argc > 1) + { + if ((0 == strcmp (argv[1], "--version")) + || (0 == strcmp (argv[1], "--help"))) + { + most_usage (); + exit (1); + } + } + + most_initialize_most (); + return most (argc, argv); +} + diff --git a/vendor/most-5.1.0/src/modules.lis b/vendor/most-5.1.0/src/modules.lis new file mode 100644 index 0000000..631fda6 --- /dev/null +++ b/vendor/most-5.1.0/src/modules.lis @@ -0,0 +1,14 @@ +buffer +cmd +display +edit +file +help +keym +keyparse +line +main +most +search +sysdep +window diff --git a/vendor/most-5.1.0/src/most.c b/vendor/most-5.1.0/src/most.c new file mode 100644 index 0000000..be98f60 --- /dev/null +++ b/vendor/most-5.1.0/src/most.c @@ -0,0 +1,565 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include + +#ifdef HAVE_STDLIB_H +# include +#endif + +#ifdef HAVE_UNISTD_H +# include +#endif + +#ifdef VMS +# include +#endif + +#include +#include + +#include +#include "version.h" + +#include "jdmacros.h" + +#include "most.h" +#include "search.h" +#include "window.h" +#include "file.h" +#include "sysdep.h" +#include "keym.h" +#include "display.h" +#include "line.h" + +int Most_S_Opt = 0; /* squeeze liness */ +int Most_A_Opt = 1; /* automatically choose -b if necessary */ +int Most_V_Opt = 0; /* display control chars */ +int Most_B_Opt = 0; /* display Binary File */ +int Most_T_Opt = 0; /* display tab as ^I-- valid only with V option */ +int Most_D_Opt = 0; /* delete file mode (see ':D') */ +int Most_K_Opt = 0; /* Display 8 bit unformatted (Kanji) */ +int Most_Z_Opt = 0; /* Gunzip on the fly */ +int Most_Want_Exit; +int Most_Secure_Mode; +int Most_Captive_Mode; +#if MOST_HAS_MMAP +int Most_Disable_MMap = 0; +#endif +int Most_Do_Regexp_Search = 0; + +int Most_UTF8_Mode = -1; /* -1:auto, 0:off, 1:on */ + +static int Most_Starting_Line; +char *Most_Program; /* Program Name (argv[0]) */ + +static char *Most_Version = MOST_VERSION_STR; + +#ifdef VMS +# ifndef isalpha +# define isalpha(x) \ + (((x >= 'A') && (x <= 'Z'))||((x >= 'a') && (x <= 'z')) ? 1 : 0) +# endif +#endif + +void most_usage (void) +{ + fprintf(stderr,"MOST version %s (S-Lang version %s)\n", + Most_Version, SLang_Version_String); + if (SLang_Version != SLANG_VERSION) + fprintf (stderr, " *Note: This executable was compiled against S-Lang %s\n", SLANG_VERSION_STRING); + + fprintf (stderr, "Usage:\n"); + fprintf(stderr, "most [-1Cbcdkrstvw] [+/string] [+line number] [+s] [+d] file...\n"); + fputs(" where: -1: assume VT100 terminal. (VMS only)\n", stderr); + fputs(" -b: Startup in binary mode.\n", stderr); + fputs(" -C: disable color support\n", stderr); + fputs(" -c: Make searches case sensitive.\n", stderr); + fputs(" -d: Do not display the \\ wrap marker when wrapping lines.\n", stderr); + /* fputs(" -k: Kanji mode.\n", stderr); */ +#if MOST_HAS_MMAP + fputs(" -M: Do not attempt to mmap files.\n", stderr); +#endif + fputs(" -r: Default to regexp search\n", stderr); + fputs(" -s: Squeeze out excess blank lines.\n", stderr); + fputs(" -t: Display tabs as ^I. If this option is immediately followed\n", stderr); + fputs(" by an integer, the integer sets the tab width.\n", stderr); + fputs(" -u: Disable UTF-8 mode\n", stderr); + fputs(" -v: Do not interpret backspace formatting characters.\n", stderr); + fputs(" -w: Wrap lines.\n", stderr); + fputs(" -z: No gunzip-on-the-fly.\n", stderr); + fputs(" +/string:\n", stderr); + fputs(" Search for string\n", stderr); + fputs(" +line number\n", stderr); + fputs(" Start up at specified line number.\n", stderr); + fputs(" +d: Allow file deletion.\n", stderr); + fputs(" +s: Secure Mode-- no edit, cd, shell, and reading files not\n", stderr); + fputs(" already listed on the command line.\n", stderr); + fputs(" +u: Enable UTF-8 mode.\n", stderr); + fprintf(stderr, "\nExample: most -ct4 +82 keymap.c\n"); + fputs(" makes searches case sensitive, sets tabwidth to 4, and displays the file\n", stderr); + fputs(" keymap.c starting at line 82.\n", stderr); +} + +static void do_switches(char *str); + +static void do_extended_switches(char *str) +{ + int i; + char ch; + char numstr [256]; + + i = 0; + ch = *(++str); + if ( ch == '/') + { + strcpy (Most_Search_Str,++str); + return; + } + + if (ch >= '0' && ch <= '9') + { + while ((ch >= '0' && ch <= '9') && (i < 10)) + { + numstr[i++] = ch; + ch = *(++str); + } + numstr[i] = '\0'; + if (1 == sscanf (numstr,"%d", &i)) + Most_Starting_Line = i; + return; + } + + if (isalpha(ch)) + { + while (1) + { + switch (ch) + { + case 0: + return; + case ' ': + case '+': + break; + case '-': + do_switches (str); + return; + + case 'D': + case 'd': + Most_D_Opt = 1; /* delete file mode */ + break; + case 'S': + case 's': + Most_Secure_Mode = 1; + break; + + case 'U': + case 'u': + Most_UTF8_Mode = 1; /* +u */ + break; + + default: + fprintf(stderr,"%s invalid extended option %c ignored.\n", + Most_Program, ch); + } + ch = *(++str); + } + } + + fprintf(stderr,"%s: switch '+%s' not valid.\n", Most_Program, str); + exit (1); +} + +/* if non-zero, assume terminal is only a generic vt100 */ +static int assume_vt100 = 0; +static int No_Colors = 0; + +static void do_switches(char *str) +{ + char ch; + if (*str == '-') str++; + while ((ch = *str++) != '\0') + { + switch (ch) + { + default: + fprintf(stderr,"%s: invalid switch %c ignored.\n", + Most_Program, ch); + break; + + case 'C': + No_Colors = 1; + break; + case 'c': + Most_Case_Sensitive = 1; + break; + case 'd': + case 'D': + Most_Show_Wrap_Marker = 0; + break; + case 'r': + Most_Do_Regexp_Search = 1; + break; + case 's': + case 'S': + Most_S_Opt = 1; break; + case 'V': + case 'v': + Most_V_Opt = 1; /* verbose-- convert control chars to '^' 'ch' */ + break; + case 'W': + case 'w': Most_W_Opt = 1; break; + + case 'K': /* Kanji option */ + case 'k': + /* Most_K_Opt = 1; break; */ + break; + + case 'B': + case 'b': + Most_B_Opt = 1; /* Binary display 8 bit */ + break; + + case 'M': +#if MOST_HAS_MMAP + Most_Disable_MMap = 1; +#endif + break; + + case 'z': + case 'Z': + Most_Z_Opt = 1; /* NO Gunzip-on-the-fly */ + break; + + case 't': + case 'T': /* expand tabs to '^I'; meaningful only with 'v' */ + ch = *str; + if ((ch <= '9') && (ch >= '0')) + { + str++; + Most_Tab_Width = (int) ch - '0'; + if (Most_Tab_Width == 0) Most_T_Opt = 1; + } + else Most_T_Opt = 1; + break; + + case 'n': case 'N': + /* could be the Gopher Naive user switch --- ignored. */ + break; + case '1': assume_vt100 = 1; + break; + + case 'u': + case 'U': + Most_UTF8_Mode = 0; /* -u */ + break; + + /* Allow MOST_SWITCHES environment variable to contain + forms, + * e.g., "-sn+d" or "-s -n +d" + */ + case ' ': + case '-': + break; + case '+': + do_extended_switches (str - 1); /* include '+' */ + return; + } + } +} + +void most_exit_error(char *fmt,...) +{ + va_list ap; + + most_reset_tty (); + most_reset_display(); + if (fmt != NULL) + { + va_start (ap, fmt); + vfprintf(stderr, fmt, ap); + va_end (ap); + putc ('\n', stderr); + } +#ifdef MALLOC_DEBUG + SLmalloc_dump_statistics (); +#endif + exit(1); +} + +static void play_cat(char *file) +{ + char buf[4096 * 4]; + int n; + FILE *fp; + + if (file == NULL) fp = stdin; + else + { + fp = fopen(file, "r"); + if (fp == NULL) return; + } + + while ((n = fread(buf, 1, 4096 * 4, fp)) > 0) + { + int m; + m = fwrite (buf, 1, n, stdout); + if (m != n) + { + fprintf (stderr, "fwrite returned %d, errno = %d\n", + m, errno); + (void) fclose (fp); + exit (1); + } + } + (void) fclose (fp); +} + +void most_initialize_most (void) +{ + Most_S_Opt = 0; + Most_A_Opt = 1; + Most_V_Opt = 0; + Most_B_Opt = 0; + Most_T_Opt = 0; + Most_D_Opt = 0; + Most_K_Opt = 0; + Most_W_Opt = 0; + + Most_Selective_Display = 0; + *Most_Search_Str = 0; Most_Search_Dir = 1; + Most_Top_Win = Most_Win = NULL; + Most_Buf = NULL; + Most_Eob = NULL; + Most_Beg = NULL; + Most_Captive_Mode = Most_Secure_Mode = 0; + Most_Want_Exit = 0; +} + +static void do_most (char *file, int start) +{ + MOST_INT row, col; + + most_get_cdir(Most_C_Dir); + + row = col = 0; + + if ((-1 == most_find_file (file)) + && (Most_Num_Files == 1)) + most_exit_error ("%s: failed to open for reading.", file); + + most_init_display (); + + most_goto_line(start); + + Most_Curs_Offset = Most_C_Offset; + + if (*Most_Search_Str + && ((row = most_search (Most_Beg + Most_C_Offset, 1, &col)) > 0)) + most_goto_line(row); + else + { + row = Most_C_Line; + col = 1; + } + + most_window_buffer(); + Most_Curs_Row = Most_Win->curs_line = row - Most_C_Line + 1; + Most_Win->curs_offset = Most_Curs_Offset; + Most_Curs_Col = Most_Win->curs_col = col; + most_redraw_window(); + most_update_status(); + + while (Most_Want_Exit == 0) + { + most_execute_key(); + } +} + +void most_exit_most (void) +{ + if (Most_Want_Exit) return; + Most_Want_Exit = 1; + most_clear_minibuffer (); + most_reset_tty (); + most_reset_display (); + most_free_windows (); +#ifdef MALLOC_DEBUG + SLmalloc_dump_statistics (); +#endif +} + +static void utf8_config (void) +{ + int utf8_mode = Most_UTF8_Mode; + + utf8_mode = SLutf8_enable (-1); /* returns 0 or 1 */ + if (Most_UTF8_Mode == -1) + Most_UTF8_Mode = utf8_mode; + else if (utf8_mode != Most_UTF8_Mode) + { + if (utf8_mode == 1) + (void) SLsmg_utf8_enable (0); /* locale is UTF-8, but -u passed */ + else + (void) SLsmg_utf8_enable (1); /* locale not UTF-8, but +u passed */ + } +} + +int most (int argc, char **argv) +{ + char file[MAX_PATHLEN], *switches; + int file_i = 0, quit,i,piped; + int status = 0; + +#ifdef VMS + char filename[256]; +#else + int j; +#endif + + Most_Program = argv[0]; + piped = 0; + + switches = getenv ("MOST_PROMPT"); + if ((switches != NULL) && (*switches != 0)) Most_Global_Msg = switches; + + switches = getenv("MOST_SWITCHES"); + if (switches != NULL) do_switches(switches); + + i = 1; + if (argc > 1) + { + quit = 0; + while ((!quit) && (i < argc)) + { + if (argv[i][0] == '-') + do_switches(argv[i++]); + else if (argv[i][0] == '+') + do_extended_switches(argv[i++]); + else quit = 1; + } + } + +#if MOST_HAS_MMAP + /* if (Most_D_Opt) */ + /* Most_Disable_MMap = 1; */ +#endif + + if (i == argc) + { + if (isatty(0)) /* 1 if stdin is a terminal, 0 otherwise */ + { + most_usage (); + return 0; + } + /* assume input is from stdin */ + file[0] = '\0'; /* tells most this is stdin */ + piped = 1; + if (!isatty(fileno(stdout))) + { + play_cat(NULL); + return 0; + } + } + else + { + strncpy (file, argv[i], sizeof(file)); + file[sizeof(file)-1] = 0; + } + + if (!isatty(fileno(stdout))) + { + while (i < argc) play_cat(argv[i++]); + exit(0); + } + + Most_Num_Files = 0; + + SLtt_get_terminfo(); + utf8_config (); + SLtt_Ignore_Beep = 1; + if (No_Colors) + SLtt_Use_Ansi_Colors = 0; + + most_setup_colors (); + most_init_tty (); + most_init_keymaps (); + + if (Most_B_Opt) Most_A_Opt = 0; /* explicit b overrides a */ + + if (!piped) + { + file_i = i; +#ifdef VMS + while(i < argc) + { + if (Most_Num_Files >= MOST_MAX_FILES) break; + if (argv[i][0] == '.') strcpy(file,"*"); else *file = 0; + strcat(file, most_unix2vms(argv[i++])); + while (RMS$_NORMAL == (status = most_expand_file_name(file,filename))) + { + Most_File_Ring[Most_Num_Files] = (char*) MOSTMALLOC(strlen(filename) + 1); + strcpy(Most_File_Ring[Most_Num_Files++], filename); + } + if (status == RMS$_NMF) status = RMS$_NORMAL; /* avoid spurious warning message */ + } + + if (Most_Num_Files) strcpy(file,Most_File_Ring[0]); + else fputs("%%MOST-W-NOFILES, no files found\n", stderr); +#else + Most_Num_Files = argc - i; + if (Most_Num_Files > MOST_MAX_FILES) + { + Most_Num_Files = MOST_MAX_FILES; + argc = Most_Num_Files + i; + } + + j = 0; + while (i < argc) + { + Most_File_Ring[j++] = argv[i++]; + } +#endif + } + + if (Most_Num_Files || piped) do_most(file, Most_Starting_Line); + else if (Most_Num_Files == 0) + fprintf(stderr,"File %s not found\n", argv[file_i]); + + most_exit_most (); + return status; +} + +#if SLANG_VERSION <= 10409 + +int SLang_set_error (int x) +{ + SLang_Error = x; + return 0; +} + +int SLang_get_error (void) +{ + return SLang_Error; +} + +#endif diff --git a/vendor/most-5.1.0/src/most.h b/vendor/most-5.1.0/src/most.h new file mode 100644 index 0000000..2a55864 --- /dev/null +++ b/vendor/most-5.1.0/src/most.h @@ -0,0 +1,79 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +extern int Most_S_Opt; +extern int Most_A_Opt; /* automatically choose -b if necessary */ +extern int Most_V_Opt; /* display control chars */ +extern int Most_B_Opt; /* display Binary File */ +extern int Most_T_Opt; /* display tab as ^I-- valid only with V option */ +extern int Most_D_Opt; /* delete file mode (see ':D') */ +extern int Most_L_Opt; /* use ^L (formfeed) to clear screen */ +extern int Most_W_Opt; /* Wrap mode */ +extern int Most_K_Opt; /* Kanji mode */ +extern int Most_Z_Opt; /* gunzip-on-the-fly */ + +#if MOST_HAS_MMAP +extern int Most_Disable_MMap; +#endif + +extern int Most_UTF8_Mode; + +extern int Most_Secure_Mode; +extern int Most_Captive_Mode; +extern char *Most_Program; + +extern int most(int, char **); +extern char *Most_Global_Msg; +extern int Most_Want_Exit; +extern void most_initialize_most(void); +extern void most_exit_most (void); +extern void most_exit_error (char *, ...); + +extern void most_usage (void); +#define MOSTMALLOC most_malloc +#define MOSTREALLOC most_realloc +extern unsigned char *most_malloc(unsigned int); +extern unsigned char *most_realloc(unsigned char *, unsigned int); +extern int Most_Tab_Width; + +#ifdef VMS +# ifndef isdigit +# define isdigit(x) \ + (((x >= '0') && (x <= '9')) ? 1 : 0) +# endif +#endif + +#ifdef HAVE_SNPRINTF +# define _pSLsnprintf snprintf +#else +# if SLANG_VERSION < 20000 +# define _pSLsnprintf _SLsnprintf +extern int _pSLsnprintf (char *, unsigned int, char *, ...); +# else +# define _pSLsnprintf SLsnprintf +# endif +#endif + +#if SLANG_VERSION <= 10409 +extern int SLang_get_error (void); +extern int SLang_set_error (int); +#endif + +#define SLANG_REGEX 1 diff --git a/vendor/most-5.1.0/src/mostconf.h b/vendor/most-5.1.0/src/mostconf.h new file mode 100644 index 0000000..a8e8e93 --- /dev/null +++ b/vendor/most-5.1.0/src/mostconf.h @@ -0,0 +1,46 @@ +/* + * Use sysconf.h for unix!!! This file is for NON-unix systems. + * + * This file is used to indicate capabilities of the C compiler and + * operating system. + */ + +/* Basic include files. */ + +#if defined(__os2__) || defined (__DECC) || defined(VAXC) +# define HAVE_STDLIB_H 1 +#else +# define HAVE_MALLOC_H 1 +#endif + +#if defined (__os2__) +# define HAVE_UNISTD_H 1 +# define HAVE_MEMORY_H 1 +#endif + +/* + * Basic C library functions. + */ + +#if defined(__os2__) +# define HAVE_PUTENV 1 +#endif + +#define HAVE_GETCWD 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMCHR 1 + +#ifdef VMS +# ifndef __GNUC__ +# include +# endif +#endif + +#define MAX_PATHLEN 256 + +#define MOST_INT long +#define MOST_UINT unsigned long +#define MOST_INT_D_FMT "%ld" + +#define MOST_HAS_MMAP 0 diff --git a/vendor/most-5.1.0/src/objs/buffer.o b/vendor/most-5.1.0/src/objs/buffer.o new file mode 100644 index 0000000000000000000000000000000000000000..c3d9df1f7e544482d4572fbba5c9ed38b48f4e9d GIT binary patch literal 33832 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/chkslang b/vendor/most-5.1.0/src/objs/chkslang new file mode 100755 index 0000000000000000000000000000000000000000..2d51a58edef2f41b37dd4e2ee59cdc84b9c7a83a GIT binary patch literal 26352 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�o zz!&A!b-Kz|S(#B*^SVNBLBT4ouIE)ARE#pW%Xb3*8|=MT{;T&9RIco+^J;P4l=|p; z23O%l|JD70%7e1P*l)w*q~z6m19Yd3XQV}WbswSfY0#|69={twq<0IH|LT52<;sro zU-7B@5aj7y1qG}75|y_}<97cgn%#r~#Z<|w`xlj;m5j>1z5cgK`F6>t?sHT=VUfpG zQSn>Os$QP}j$%Uo@uV(TWp2MhCts~;3V>BUDCJas(8`RmO+CBECa=!-Dj%fAwIn64 zP;?z@wXg2ORIc8;QT%rQPf2+de-@OSGT%hXElI^+p&meiSd_fFuT%LB#VB*T{jb~P z)%~B!J-^5PX~_HWQ(;oq$?E?B*!@+o%D)R)T=f;@)&1m?O+X?kJ^{_b3Qzr$`i`=% zuHV)FTTp>f{Y%NIc6=JLRK=qFH2{##$_vDG0xTYtyvlz8idCMqN!E=bSD?fe>!ajf z2Ei)dCI#B0yzWCU7o(-VaE~c&0!%x z@2Oamop+m*x5w|(9YRW{lZz!Od6m=dO;xtAu@iJ+Li!igumYUJyL%q_^}iNv-vdu literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/chkslang.o b/vendor/most-5.1.0/src/objs/chkslang.o new file mode 100644 index 0000000000000000000000000000000000000000..e10bb19b4bdebd552c8c0c606ac1cd18cdb192f9 GIT binary patch literal 16368 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/cmd.o b/vendor/most-5.1.0/src/objs/cmd.o new file mode 100644 index 0000000000000000000000000000000000000000..aa792a995bdf4234521d750185ecc85722bf9183 GIT binary patch literal 28624 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/display.o b/vendor/most-5.1.0/src/objs/display.o new file mode 100644 index 0000000000000000000000000000000000000000..d4b53fff92fabd50ee49e64c3d16d47be398f9c4 GIT binary patch literal 12176 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

H4gxQ4&e`Ua7}0+v%S%=1-u!c zAg)dyw^9uZ4q$f)$`k#6wBR)ZCt!8y!y~}%KwSXT5n`#2%jE*PHroeyfRNYtOv2~U zY%MT9VBbI-(6+fs@Z|@9&&xpLk=W?}1|{4DP+9}{eS4+`s+kGYB=$ic_X$n#!QU>R zaq}^ZXlw&{?6vK!t*!Mw?jF8SpkQWk^>uR$d7+_z(>3bRv8JSGdW{iW9jXqE9VJ5_ zn~%Lhg6}OFw@B2Mk6x6*LZi zInt3`z=)z_uF9ZsV|XV3tJ(=-_@O|9YfHlA0-C?{33WjZtkUrp68IDau5bSUrZ5n^ z3TTu9mK;#9!P^pL$lZh_!yo*817-+pBZD}pIpiw4xEoj^n@p=Xs3}I-L+5N&F6Cf}L zflB_FgM7Jx`3GzjScZf1G~7;njrmUehPYlP&fu&-g8kbx06?Z`#whS=$SZ-?l!tW~>VfYo!Vt7IO=HsC28g3R)t`82Q zamf7n$3PtM6@V4?jH&{OUl&*-^rsreSrywtqKW&bd%p1Q0sR6yH7f=LJb}y$0Tgs@NrboAVFAbp{Y(V{k$$ z#cTUJK7de^E&!dyR|h8918BRR&>+Tb5p*mKBZd{Y zKWiotLElA_G&GZ;z+0wpFnU0{9sfGUkKV8a21;Za006is;TH?QRV88otV=jV$ENb) zjfnA=L4&K|47}d4nT&6Qi8cW^E+?2d0*r0=iXY5&eK65+<2tzaz^pgpLZ}oG15^U9 z8}h)c5>e}alz0sRFCc7aI}YG9D(u%bJus8TIRRcKuB*T>;EjjE09=fLvp^`oF5wqG zg!>ZWoK0}ptQ8R4{~jlW1bJu(f_?V~6+*}G&Y*E~F?-P1dh%G{HVv5ed%0VQ(|%pu zEOFWgZlHC+X}=fOtb%GrV@H5_e=anLX^j<5iY zQK*kali=|8vv{#tF`&T&AYW!3@v$M~D`6gkoIg7Ph~S0s&xlNQ42<P{So^rSI zaP#zb@bQ5w^G5Oca5>rns_nTj9$X%t4(`GzE#Q#L*@w&46>K1Y>$0J`fET*LLwKZgzFF7uYE3lSTRQb|-ru)Xm*U;>@B2Vb# z(aSuh`pCrg-IR1X{4p(w38f^tI;EAR4sWDlYU&Piw`w>nL=coz3H~AAM~dm zBz+mbKlnSZ{g7seRN?IBV+P7*g|piEC$8onnhAZb&L0vJCLA`(y(tn+BB92$snbi^ z;&DKWb;w6`@A0NxF{I`?4pFri$WM}fpcJ57<;p!=Lar(pc8>fEsoq`;V;Mu8H)+S- z0=}N8^JHPnl)^_#@(WJ?EKjRVvDdoxgsMQZSewe~+WAzK5S_deo*ZFy8`6{A2IPa9 zhi)pDGFU8O&@NF_G@5~YcX>-B%|vL~`8+i@*^b@g@pPC{-<#T`qrIg^DQV=-PTnep7*!YZxqY|E^`f|N=%tIE55AXmGw*u-kj3oTE|y3~8j*L`ShPq5 zfcFSx@k)DYVfw1$A^DW65o6+&ozz7%p+g4br!$>(8_tL1nq}E~S{G;o@9LPBx(yS| zSvki=XtCxz8J*PUB0_Hol@+s}_DnlTIv-d!t@UnoPr})heV){BQ*KHqQF1&M(-L~m zG>AF6J7uQn#-gU�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%0AmH}a-PQnGtEy)ieVmMS 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/keym.o b/vendor/most-5.1.0/src/objs/keym.o new file mode 100644 index 0000000000000000000000000000000000000000..8e6a83b62572eff304e42590eca71dfddeac6ac0 GIT binary patch literal 69960 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 EAJmHw>Hq)$ literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/line.o b/vendor/most-5.1.0/src/objs/line.o new file mode 100644 index 0000000000000000000000000000000000000000..ce97058f1e3993e9973013033e5e8445d28830a0 GIT binary patch literal 34744 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ű+HtIMJ$ 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 Q8m|HNcTbL-sNm!O2V58r`Tzg` literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/most b/vendor/most-5.1.0/src/objs/most new file mode 100755 index 0000000000000000000000000000000000000000..1e99ddff14dffffbe40ae6210d886dc3b2849061 GIT binary patch literal 323864 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/search.o b/vendor/most-5.1.0/src/objs/search.o new file mode 100644 index 0000000000000000000000000000000000000000..8d2c24b3f7bc42b890c2b32a9cae4904fd3083cf GIT binary patch literal 36952 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/objs/sysdep.o b/vendor/most-5.1.0/src/objs/sysdep.o new file mode 100644 index 0000000000000000000000000000000000000000..19bc79cf3e56153d836fd5d1ddcae09bfa4ada34 GIT binary patch literal 27968 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 literal 0 HcmV?d00001 diff --git a/vendor/most-5.1.0/src/search.c b/vendor/most-5.1.0/src/search.c new file mode 100644 index 0000000..404ee70 --- /dev/null +++ b/vendor/most-5.1.0/src/search.c @@ -0,0 +1,667 @@ +/* -*- mode: C; mode: fold -*- */ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include +#include +#include +#include + +#include "most.h" +#include "window.h" +#include "line.h" +#include "file.h" +#include "display.h" +#include "search.h" + +/* Note!!! The regular expression searches may not work. I have not + * tested them. + * FIXME!!! This whole thing needs to be rewritten. It is a mess. + */ + +int Most_Case_Sensitive = 0; +char Most_Search_Str[256]; +int Most_Search_Dir = 1; + +#include "jdmacros.h" + +typedef struct Search_Type_ Search_Type; +struct Search_Type_ +{ + void *cd; + unsigned char *(*fsearch_method) (Search_Type *, unsigned char *, unsigned char *, unsigned char *); + unsigned char *(*bsearch_method) (Search_Type *, unsigned char *, unsigned char *, unsigned char *); + void (*close_method)(Search_Type *); +}; + + +static unsigned char Ascii_Upper[256]; + +static void bs_search_init (void) +{ + static int inited = 0; + unsigned int i; + + if (inited) return; + for (i = 0; i < 256; i++) Ascii_Upper[i] = i; + for (i = 'a'; i <= 'z'; i++) Ascii_Upper[i] = (i - 32); + inited = 1; +} + +#define UPCASE(ch) (Ascii_Upper[(ch)]) + +#define CHAR_EQS(a,b) \ + (((a) == (b)) || (!Most_Case_Sensitive && (UPCASE(a) == UPCASE(b)))) + +static int is_ansi_escape (unsigned char **begp, unsigned char *end) +{ + unsigned char *p, ch; + + p = *begp; + if ((p == end) || (*p++ != '[')) return 0; + + /* Look for "ESC X m", where X is one of: + * X = "" + * X = digit + * X = digit ; digit ... + */ + ch = *p++; + while (isdigit (ch)) + { + while ((p < end) && isdigit (*p)) + p++; + + if (p == end) + return 0; + + ch = *p++; + if (ch == 'm') + break; + + if ((ch != ';') || (p == end)) + return 0; + + ch = *p++; + } + if (ch != 'm') + return 0; + + *begp = p; + return 1; +} + +static int is_rev_ansi_escape (unsigned char *beg, unsigned char **endp) +{ + unsigned char *p, ch; + + p = *endp; + if (p == beg) + return 0; + + ch = *p--; + while (isdigit (ch)) + { + while ((p > beg) && isdigit (*p)) + p--; + + if (p == beg) + return 0; + + ch = *p--; + + if (ch == '[') + break; + + if ((ch != ';') || (p == beg)) + return 0; + + ch = *p--; + } + + if ((ch != '[') || (p < beg) || (*p != 033)) + return 0; + + *endp = p-1; + return 1; +} + +/* These routines have special processing for ANSI escape sequence and backspace handling. + * For example, "hello world" may occur as: + * plain: hello world + * underlined: h_e_l_l_o_ world + * underlined: _h_e_l_l_o world + * bold: hheelllloo world + * ansi: hello world + * ansi: hello world + */ + +/* This routine returns the 1 + position of first match of key in str. + * searches from beg up to but not including end. Handles backspace, etc + */ +static unsigned char * +bs_fsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + unsigned char ch, ch1, ch1up; + unsigned char *pos; + int cis, key_len, j, str_len; + + (void) st; + key_len = strlen ((char *)key); + if (key_len == 0) + return Most_Eob; + + str_len = (int) (end - beg); + if (str_len < key_len) return (Most_Eob); + + cis = (Most_Case_Sensitive == 0); + ch1 = key[0]; + ch1up = UPCASE(ch1); + + while (1) + { + /* Find first character that matches */ + while (1) + { + if (beg == end) return Most_Eob; + + ch = *beg++; + if ((ch == ch1) + || (cis && (ch1up == UPCASE(ch)))) + break; + } + + /* so we have a position of possible match */ + j = 1; + + pos = beg; /* save this position so we start from here again */ + + while (1) + { + if (j == key_len) + return pos - 1; + + if (beg == end) + break; + + ch = *beg++; + + /* FIXME: This only works for x^Hx but not x^Hx^Hx... + * It is probably better to skip all the ^H characters + * until the end. That is, regard "a^Hb^Hc" as 'c'. + */ + if ((ch == 8) + && (beg + 1 < end) + && (CHAR_EQS(key[j - 1], *beg) + || (*beg == '_'))) + { + ch = *(beg + 1); + beg += 2; + } + else if ((ch == '_') && (beg + 1 < end)) + { + ch = *beg++; + if (ch == 8) ch = *beg++; + else + { + ch = '_'; + beg--; + } + } + else if ((ch == 033) && is_ansi_escape (&beg, end)) + continue; + + if (!CHAR_EQS(ch, key[j])) + break; + + j++; + } + + beg = pos; + } +} + +/* + * Search backwards in the buffer "beg" up to, but not including "end" for + * pattern "key". It handles backspaces, etc + */ +static unsigned char * +bs_bsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + unsigned char ch, ch1, ch1up; + unsigned char *pos; + int key_len,j, str_len; + int cis; + + (void) st; + key_len = strlen ((char *)key); + if (key_len == 0) return Most_Eob; + + str_len = (int) (end - beg); + if (str_len < key_len) return Most_Eob; + + ch1 = key[key_len-1]; + ch1up = UPCASE(ch1); + cis = (Most_Case_Sensitive == 0); + + while (1) + { + while (1) + { + if (end < beg) + return Most_Eob; + + ch = *end--; + if ((ch == ch1) + || (cis && (ch1up == UPCASE(ch)))) + break; + } + + pos = end; /* save this position so we start from here again */ + + j = key_len - 2; + + while (1) + { + if (j < 0) + return end + 1; + if (end < beg) + break; + + ch = *end--; + + if ((ch == 8) + && (end >= beg + 1) + && (CHAR_EQS(key[j + 1], *end) + || (*end == '_'))) + { + ch = *(end - 1); + end -= 2; + } + else if ((ch == '_') + && (end >= beg + 1)) + { + ch = *end--; + if (ch == 8) ch = *end--; + else + { + ch = '_'; + end++; + } + } + else if ((ch == 'm') && is_rev_ansi_escape (beg, &end)) + continue; + + if (!CHAR_EQS(ch, key[j])) + break; + + j--; + } + end = pos; + } +} + +static int bs_open_search (Search_Type *st, char *key) +{ + (void) key; + + bs_search_init (); + st->fsearch_method = bs_fsearch; + st->bsearch_method = bs_bsearch; + st->close_method = NULL; + st->cd = NULL; + return 0; +} + +static unsigned char *sl_fsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + unsigned char *p; + + (void) key; + if (NULL == (p = SLsearch_forward ((SLsearch_Type *)st->cd, beg, end))) + p = Most_Eob; + return p; +} + +static unsigned char *sl_bsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + unsigned char *p; + + (void) key; + if (NULL == (p = SLsearch_backward ((SLsearch_Type *)st->cd, beg, end, end))) + p = Most_Eob; + return p; +} + +static void sl_search_close (Search_Type *st) +{ + if (st->cd != NULL) + SLsearch_delete ((SLsearch_Type *) st->cd); +} + +static int sl_open_search (Search_Type *st, char *key) +{ + unsigned int flags = 0; + + if (Most_Case_Sensitive == 0) flags |= SLSEARCH_CASELESS; + if (Most_UTF8_Mode) flags |= SLSEARCH_UTF8; + + if (NULL == (st->cd = SLsearch_new ((SLuchar_Type *) key, flags))) + return -1; + + st->fsearch_method = sl_fsearch; + st->bsearch_method = sl_bsearch; + st->close_method = sl_search_close; + return 0; +} + +static int +do_search_internal (Search_Type *st, + unsigned char *from, int repeat, MOST_INT *col) +{ + /* return the line match was found as well as line number, + * search from i on; assume that line_array match the i so we need + * no initial lookup */ + + int test; + MOST_INT save_line, the_col, row, s_len; + char string[300]; + unsigned char *pos, *eob; + unsigned int save_ofs; + unsigned int found_ofs; + + if (*Most_Search_Str == 0) + { + most_message("Search string not specified.",1); + return -1; + } + + if ((from < Most_Beg) || (from > Most_Eob)) return -1; + + save_ofs = Most_C_Offset; + save_line = Most_C_Line; + found_ofs = Most_Eob - Most_Beg; + *col = 0; + s_len = strlen (Most_Search_Str); + pos = from; + + eob = Most_Eob; + + test = repeat && (pos < Most_Eob) && (pos >= Most_Beg); + while(test) + { + if (Most_Search_Dir == 1) + { + while (1) + { + unsigned int pos_ofs; + + pos = (*st->fsearch_method)(st, pos, Most_Eob, (unsigned char*) Most_Search_Str); + pos_ofs = (unsigned int) (Most_Eob - Most_Beg); + + if (pos < Most_Eob) + break; + + if (0 == most_read_file_dsc (10, 0)) + { + /* Pointer may be invalid after this call */ + pos = Most_Beg + pos_ofs; + break; + } + + /* This might need an adjustment */ + pos = Most_Beg + (pos_ofs - s_len); + if (pos < Most_Beg) pos = Most_Beg; + } + } + else + pos = (*st->bsearch_method)(st, Most_Beg, pos, (unsigned char *) Most_Search_Str); + + if (pos < Most_Eob) + { + repeat--; + found_ofs = pos - Most_Beg; + if (Most_Search_Dir == 1) + pos += s_len; + else pos--; + } + test = repeat && (pos < Most_Eob) && (pos >= Most_Beg); + if (SLKeyBoard_Quit) + { + most_message ("Search Interrupted.", 1); + break; + } + } + + if (eob != Most_Eob) + Most_Num_Lines = most_count_lines (Most_Beg, Most_Eob); + + if (repeat) /* not found */ + { + *col = 0; + + (void) sprintf(string,"Search failed: %s",Most_Search_Str); + most_message(string,1); + row = -1; + } + else /* if ( !Most_T_Opt && !Most_B_Opt) */ /* expand tabs to get col correct */ + { + most_find_row_column(Most_Beg + found_ofs, &row, &the_col); + if (Most_B_Opt) *col = the_col + 52; + else + *col = 1 + most_apparant_distance(Most_Beg + found_ofs); + } + + Most_C_Offset = save_ofs; + Most_C_Line = save_line; + if (row > 0) Most_Curs_Offset = found_ofs; + + return row; +} + +static int search_internal (Search_Type *st, unsigned char *from, int repeat, MOST_INT *colp) +{ + int status; + + status = do_search_internal (st, from, repeat, colp); + + if (st->close_method != NULL) + (st->close_method)(st); + + return status; +} + +static int simple_search (unsigned char *from, int repeat, MOST_INT *colp) +{ + Search_Type st; + + if (Most_V_Opt || Most_B_Opt) + { + /* Nothing special about the ^H and _ chars. User faster SLsearch */ + if (-1 == sl_open_search (&st, Most_Search_Str)) + return -1; + } + else if (-1 == bs_open_search (&st, Most_Search_Str)) + return -1; + + return search_internal (&st, from, repeat, colp); +} + + +static void re_search_close (Search_Type *st) +{ + if (st->cd != NULL) + SLregexp_free ((SLRegexp_Type *) st->cd); +} + +static unsigned char * +re_fsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + SLRegexp_Type *re; + unsigned char *p; + unsigned int flags; + + (void) key; + + re = (SLRegexp_Type *)st->cd; + (void) SLregexp_get_hints (re, &flags); + + while (beg < end) + { + unsigned char *line_end = beg; + + while (line_end < end) + { + unsigned char ch = *line_end++; + if (ch == '\n') break; + } + + p = (unsigned char *)SLregexp_match (re, (char *)beg, (line_end - beg)); + if (p != NULL) + { + if ((0 == (flags & SLREGEXP_HINT_BOL)) + || (p != beg) + || (beg == Most_Beg) + || (*(beg - 1) == '\n')) + return p; + } + beg = line_end; + } + + return Most_Eob; +} + +static unsigned char * +re_bsearch (Search_Type *st, + unsigned char *beg, unsigned char *end, + unsigned char *key) +{ + SLRegexp_Type *re; + unsigned char *line_end, *eob; + unsigned int flags; + + (void) key; + re = (SLRegexp_Type *)st->cd; + (void) SLregexp_get_hints (re, &flags); + + line_end = end; + eob = Most_Eob; + while (line_end < eob) + { + if (*line_end == '\n') + break; + line_end++; + } + + while (end > beg) + { + unsigned char *p, *match; + unsigned char *line = end; + while (line > beg) + { + line--; + if (*line == '\n') + { + line++; + break; + } + } + + /* line is now at the start of a line */ + if (NULL != (match = (unsigned char *)SLregexp_match (re, (char *)line, line_end-line))) + { + if (match >= end) + { + /* Match occurs to right of boundary. Try previous line */ + end = line_end = line-1; + continue; + } + + if (flags & SLREGEXP_HINT_BOL) + return match; + + /* t tt z t t t z */ + /* Find match closest to end */ + while ((line < end) + && (NULL != (p = (unsigned char *)SLregexp_match (re, (char *)line, (line_end - line)))) + && (p < end)) + { + match = p; + line++; + } + return match; + } + + end = line-1; + line_end = end; + } + + return Most_Eob; +} + + +static int regexp_search (unsigned char *from, int repeat, MOST_INT *colp) +{ + Search_Type st; + SLRegexp_Type *re; + char *pattern; + unsigned int flags; + + pattern = Most_Search_Str; + + flags = 0; + if (Most_Case_Sensitive == 0) flags |= SLREGEXP_CASELESS; + + re = SLregexp_compile (pattern, flags); + if (re == NULL) + return -1; + + (void) SLregexp_get_hints (re, &flags); + if (flags & SLREGEXP_HINT_OSEARCH) + { + SLregexp_free (re); + return simple_search (from, repeat, colp); + } + + st.cd = (void *)re; + st.fsearch_method = re_fsearch; + st.bsearch_method = re_bsearch; + st.close_method = re_search_close; + + return search_internal (&st, from, repeat, colp); +} + +int most_search (unsigned char *from, int repeat, MOST_INT *colp) +{ + if (Most_Do_Regexp_Search) + return regexp_search (from, repeat, colp); + + return simple_search (from, repeat, colp); +} diff --git a/vendor/most-5.1.0/src/search.h b/vendor/most-5.1.0/src/search.h new file mode 100644 index 0000000..38b6975 --- /dev/null +++ b/vendor/most-5.1.0/src/search.h @@ -0,0 +1,32 @@ +#ifndef _DAVIS_SEARCH_H_ +# define _DAVIS_SEARCH_H_ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +# include +# include + +extern int Most_Case_Sensitive; +extern int Most_Do_Regexp_Search; +extern int Most_Search_Dir; +#define MOST_SEARCH_BUF_LEN 256 +extern char Most_Search_Str[MOST_SEARCH_BUF_LEN]; +extern int most_search(unsigned char *, int, MOST_INT *); +#endif + diff --git a/vendor/most-5.1.0/src/sysconf.h b/vendor/most-5.1.0/src/sysconf.h new file mode 100644 index 0000000..15d7577 --- /dev/null +++ b/vendor/most-5.1.0/src/sysconf.h @@ -0,0 +1,107 @@ +/* src/sysconf.h. Generated from config.hin by configure. */ +/* -*- C -*- */ + +/* Note: this is for authentic unix systems only. + * See mostconf.h for other systems. + */ + +#ifndef MOST_CONFIG_H +#define MOST_CONFIG_H + +/* Define if you want the MMAP support */ +#define USE_MMAP 1 + +/* define if you have long long type */ +#define HAVE_LONG_LONG 1 + +/* #undef off_t */ +/* #undef size_t */ +#define SIZEOF_OFF_T 8 +#define SIZEOF_SHORT 2 +#define SIZEOF_INT 4 +#define SIZEOF_LONG 8 +#define SIZEOF_FLOAT 4 +#define SIZEOF_DOUBLE 8 +#define SIZEOF_LONG_LONG 8 + +/* The following set defines may be necessary to activate long file support */ +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _LARGEFILE_SOURCE */ + +/* define if you have stdlib.h */ +#define HAVE_STDLIB_H 1 + +/* define if you have unistd.h */ +#define HAVE_UNISTD_H 1 + +/* define if you have memory.h */ +#define HAVE_MEMORY_H 1 + +/* define if you have malloc.h */ +#define HAVE_MALLOC_H 1 + +/* define if you have memset */ +#define HAVE_MEMSET 1 + +/* define if you have memcpy */ +#define HAVE_MEMCPY 1 + +/* define if you have this. */ +#define HAVE_GETCWD 1 + +#define HAVE_MMAP 1 + +#define HAVE_TCGETPGRP 1 +#define HAVE_GETPGRP 1 + +#define HAVE_DIRENT_H 1 +/* #undef HAVE_SYS_NDIR_H */ +/* #undef HAVE_SYS_DIR_H */ +/* #undef HAVE_NDIR_H */ + +#define HAVE_SNPRINTF 1 +#define HAVE_SYS_MMAN_H 1 + +/* #undef mode_t */ +/* #undef pid_t */ +/* #undef uid_t */ +/* #undef pid_t */ + + +#ifdef _AIX +# ifndef _POSIX_SOURCE +# define _POSIX_SOURCE +# endif +# ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +# endif +/* This may generate warnings but the fact is that without it, xlc will + * INCORRECTLY inline many str* functions. */ +/* # undef __STR__ */ +#endif + +#define MAX_PATHLEN 1024 +#if defined(USE_MMAP) && defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) +# define MOST_HAS_MMAP 1 +#else +# define MOST_HAS_MMAP 0 +#endif + +#if defined(HAVE_LONG_LONG) && (SIZEOF_OFF_T == SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG > SIZEOF_LONG) +typedef long long MOST_INT; +typedef unsigned long long MOST_UINT; +# define MOST_INT_D_FMT "%lld" +#else +# if (SIZEOF_OFF_T == SIZEOF_INT) +typedef int MOST_INT; +typedef unsigned int MOST_UINT; +# define MOST_INT_D_FMT "%d" +# else +typedef long MOST_INT; +typedef unsigned long MOST_UINT; +# define MOST_INT_D_FMT "%ld" +# endif +#endif + +#endif /* MOST_CONFIG_H */ diff --git a/vendor/most-5.1.0/src/sysdep.c b/vendor/most-5.1.0/src/sysdep.c new file mode 100644 index 0000000..88a9d55 --- /dev/null +++ b/vendor/most-5.1.0/src/sysdep.c @@ -0,0 +1,773 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" +/* + * HISTORY + * {1} 19-Mar-91 Henk D. Davids + * History started. Added default input file name so you do not + * have to specify name or type if you want it to be *. + * Changes indicated by "-hdd" in comment. + * + * 2. 4/4/91 John E. Davis + * I added code to read the teminal size for unix systems-- at least it + * works on a sun4 (BSD ?). In addition I have also recently added file + * deletion code for both unix and vms. + */ +#ifdef VMS +# include +# include +# include +# include +# include +# include +# include +# include +# include + +/* #include */ + +#endif /* VMS */ + +#ifdef HAVE_STDLIB_H +# include +#endif + +#include +#include "jdmacros.h" + +#ifdef unix +# include +# ifdef SYSV +# include +# include +# endif +# include +#endif + +#ifdef __os2__ +# include +#endif + +#ifdef __WIN32__ +#include +/* Sleep is defined badly in MSVC... */ +# ifdef _MSC_VER +# define sleep(n) _sleep((n)*1000) +# else +# ifdef sleep +# undef sleep +# endif +# define sleep(x) if(x)Sleep((x)*1000) +# endif +#endif + +#include + +#include "sysdep.h" +#include "display.h" +#include "window.h" +#include "most.h" + +#ifdef VMS +typedef struct +{ + /* I/O status block */ + short i_cond; /* Condition value */ + short i_xfer; /* Transfer count */ + long i_info; /* Device information */ +} +iosb; + +typedef struct +{ + /* Terminal characteristics */ + char t_class; /* Terminal class */ + char t_type; /* Terminal type */ + short t_width; /* Terminal width in characters */ + long t_mandl; /* Terminal's mode and length */ + long t_extend; /* Extended terminal characteristics */ +} +termchar; + +static short TTY_CHANNEL_GLOBAL; +static int zero = 0; + +#else +int TTY_DESCR; +#endif /* VMS */ + +/* + * + * + * SHELL COMMANDS + * + */ + +#ifdef VMS + +/* these two from emacs source */ +# if 0 +static define_logical_name (char *varname, char *string) +{ + static char sstring[200], svarname[200]; + + struct dsc$descriptor_s strdsc = + {strlen (string), DSC$K_DTYPE_T, DSC$K_CLASS_S, sstring}; + struct dsc$descriptor_s envdsc = + {strlen (varname), DSC$K_DTYPE_T, DSC$K_CLASS_S, svarname}; + struct dsc$descriptor_s lnmdsc = + {7, DSC$K_DTYPE_T, DSC$K_CLASS_S, "LNM$JOB"}; + + strcpy(sstring, string); strcpy(svarname, varname); + + LIB$SET_LOGICAL (&envdsc, &strdsc, &lnmdsc, 0, 0); +} + +static delete_logical_name (char *varname) +{ + struct dsc$descriptor_s envdsc = + {strlen (varname), DSC$K_DTYPE_T, DSC$K_CLASS_S, varname}; + struct dsc$descriptor_s lnmdsc = + {7, DSC$K_DTYPE_T, DSC$K_CLASS_S, "LNM$JOB"}; + + LIB$DELETE_LOGICAL (&envdsc, &lnmdsc); +} + +int most_do_emacs_command() +{ + unsigned long pid; + char *pidstr; + + if((pidstr = getenv("EMACS_PID")) != NULL) + { + (void) sscanf(pidstr,"%X",&pid); + if (lib$attach(&pid) == SS$_NORMAL) /* we attach to emacs */ + return(1); + else + return(0); + /* printf("Can't attach to pid %X\n",pid); */ + } + else return(0); +} +# endif /* if 0 */ + +static unsigned long SHELL_PID = 0; + +/* returns 0 on success */ +int most_do_shell_command() +{ + /* here we try to attach to the parent otherwise just spawn a new one */ + unsigned long parent_pid; + unsigned long status = 0; + char str[80]; + + $DESCRIPTOR(MOST_$_descr, "MOST > "); + + if (Most_Secure_Mode) + { + most_message ("Spawning not permitted in secure mode.", 1); + return 0; + } + + parent_pid = getppid(); + + if (parent_pid && (parent_pid != 0xffffffffU)) + /* we attach to parent */ + status = lib$attach(&parent_pid); + + else if (SHELL_PID && (SHELL_PID != 0xffffffffU)) + /* try to attach to previous shell */ + status = lib$attach (&SHELL_PID); + + if (status != SS$_NORMAL) /* others fail so spawn a new shell */ + { + status = 0; + SLtt_write_string("Spawning MOST DCL SUBPROCESS (Logout when finished)..."); + lib$spawn(0,0,0,0,0,&SHELL_PID,&status,0,0,0,&MOST_$_descr); + /* if we attach back, status may come back unchanged */ + if ((status != 0) && (status != SS$_NORMAL)) + { + sprintf(str,"Unable to spawn subprocess. Error = %X", status); + most_message(str,1); + return(0); + } + } + most_message(" ",0); /* make sure message window is restored */ + return(1); +} + +#endif /* VMS */ + +/* + * FILE IO + * + */ + +#ifdef VMS +int most_expand_file_name(char *file,char *expanded_file) +{ + unsigned long status; + static int context = 0, len = 0; + static char inputname[MAX_PATHLEN] = ""; + $DESCRIPTOR(file_desc,inputname); + $DESCRIPTOR(default_dsc,"SYS$DISK:[]*.*;"); + static struct dsc$descriptor_s result = + {0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL}; + + if (strcmp(inputname, file)) + { + if (context) + { + lib$find_file_end(&context); + } + context = 0; + strcpy(inputname, file); + len = strlen(inputname); + } + file_desc.dsc$w_length = len; + + status = lib$find_file(&file_desc,&result,&context, + &default_dsc,0,0,&zero); + + if (status == RMS$_NORMAL) + { + memcpy(expanded_file, result.dsc$a_pointer, result.dsc$w_length); + expanded_file[result.dsc$w_length] = '\0'; + } + else + expanded_file[0] = '\0'; /* so file comes back as zero width */ + + return status; +} +#endif /* VMS */ + +/* + * + * + * Terminal IO + * + */ + +#ifdef VMS +/* + * Exit Handler Control Block + */ +static struct argument_block +{ + int forward_link; + int (*exit_routine)(); + int arg_count; + int *status_address; + int exit_status; +} +Exit_Block = +{ + 0, + NULL, + 1, + &Exit_Block.exit_status, + 0 +}; + +#endif /* VMS */ + +#ifdef unix + +# include + +# if !defined(sun) +# include +# endif + +# ifndef NO_UNISTD_H +# include +# endif + +# if HAS_TERMIOS +# include +# endif +# ifdef SYSV +# include +# include +# include +# include +# endif +# include +# include +# include + +#if defined(SIGHUP) && !defined(IBMPC_SYSTEM) +static void unix_hangup(int sig) +{ + most_exit_error ("most: Exiting on signal %d.", sig); +} + +#endif + +#endif /* unix */ + +static int Want_Window_Size_Change; +static int Most_TTY_Inited = 0; + +#ifdef REAL_UNIX_SYSTEM +static int handle_interrupts (void) +{ + if (Want_Window_Size_Change) + most_resize_display (); + + return 0; +} +#endif + +#ifdef SIGWINCH +static void sigwinch_handler (int sig) +{ + (void) sig; + Want_Window_Size_Change = 1; + (void) SLsignal_intr (SIGWINCH, sigwinch_handler); +} +#endif + +#if defined(SIGBUS) && MOST_HAS_MMAP +static void sigbus_handler (int sig) +{ + (void) sig; + most_reset_tty (); + most_reset_display (); + + fprintf (stderr, "SIGBUS caught--- fatal error\n"); + if ((Most_Buf != NULL) + && Most_Buf->is_mmaped) + fprintf (stderr, "This may be due to a modified memory mapped file\n"); + + exit (1); +} +#endif + +void most_resize_display (void) +{ + Want_Window_Size_Change = 0; + + if (Most_Display_Inited == 0) + return; + + most_get_term_dimensions(&SLtt_Screen_Cols, &SLtt_Screen_Rows); + + if (Most_Win != NULL) + most_one_window (); +#if SLANG_VERSION > 10305 + SLsmg_reinit_smg (); +#else + SLsmg_reset_smg (); + SLsmg_init_smg (); +#endif + most_redraw_display (); +} + +static int init_tty (void) +{ +#if defined(REAL_UNIX_SYSTEM) + SLsig_block_signals (); +#endif + + if (-1 == SLang_init_tty (7, 0, 1)) + { + fprintf (stderr, "most: failed to init terminal.\n"); + exit (1); + } +#if !defined(IBMPC_SYSTEM) + SLtt_enable_cursor_keys (); +#endif +#if defined(REAL_UNIX_SYSTEM) + SLsig_unblock_signals (); + SLang_getkey_intr_hook = handle_interrupts; +#endif + return 0; +} + +void most_init_tty (void) +{ + int i; + if (Most_TTY_Inited) return; + + (void) init_tty (); +#if !defined(IBMPC_SYSTEM) + SLsig_block_signals (); +#endif + + for (i = 1; i < 32; i++) + { + switch (i) + { +#ifdef SIGHUP + case SIGHUP: +#endif +#ifdef SIGQUIT + case SIGQUIT: +#endif +#ifdef SIGTERM + case SIGTERM: +# ifdef REAL_UNIX_SYSTEM + SLsignal_intr (i, unix_hangup); +# else + (void) i; +# endif + break; +#endif + +#ifdef SIGWINCH + case SIGWINCH: + (void) SLsignal_intr (SIGWINCH, sigwinch_handler); + break; +#endif + +#if defined(SIGBUS) && MOST_HAS_MMAP + case SIGBUS: + (void) SLsignal_intr (SIGBUS, sigbus_handler); + break; +#endif + +#ifdef SIGCONT + case SIGCONT: +#endif +#ifdef SIGTSTP + case SIGTSTP: +#endif +#ifdef SIGINT + case SIGINT: +#endif +#ifdef SIGCHLD + case SIGCHLD: +#endif + default: + break; +#ifdef SIGPIPE + case SIGPIPE: + (void) SLsignal_intr (SIGPIPE, SIG_IGN); + break; +#endif + } + } + + SLang_set_abort_signal (NULL); + + Most_TTY_Inited = 1; +#if !defined(IBMPC_SYSTEM) + SLsig_unblock_signals (); +#endif +} + +void most_reset_tty (void) +{ + if (Most_TTY_Inited == 0) return; + SLang_reset_tty (); + Most_TTY_Inited = 0; +} + +int most_reinit_terminal (void) +{ + if (Most_TTY_Inited == 0) + return 0; + most_reset_tty (); + (void) init_tty (); + Most_TTY_Inited = 1; + return 0; +} + +/* slang uses select to wait for terminal input. If SIGINT is + * generated, then slang returns ^G and sets SLKeyBoard_Quit + * to 1 bypassing the read altogether. If most was used in + * conjunction with xargs (find . -print | xargs most) and ^G + * is pressed, a SIGINT will be generated killing xargs and + * leaving most an orphan unable to access the terminal. + * Unfortunately, the select call will continue to time-out + * causing most continue running in the background. To + * workaround this problem, exit if the terminal is not in the + * same process group as most. + */ +static void check_if_foreground (void) +{ +#if defined(HAVE_GETPGRP) && defined(HAVE_TCGETPGRP) + pid_t pgid = getpgrp (); + + if ((SLang_TT_Read_FD != -1) + && (pgid != tcgetpgrp (SLang_TT_Read_FD))) + { + most_exit_error ("\007Fatal Error: Most is not in the terminal's process group."); + } +#endif +} + +int most_getkey() +{ + unsigned int ch; + static int last_was_sigint; + + /* This non-sense involving last_was_sigint is to handle a race condition. + * The shell may not have had time to change the pgids, so sleep a bit + * here. Yea, its ugly and does not really solve the problem... + */ + if (last_was_sigint) + { + sleep (1); + check_if_foreground (); + last_was_sigint = 0; + } + + ch = SLang_getkey (); + if (ch == SLANG_GETKEY_ERROR) + most_exit_error ("most: getkey error."); + + if (SLKeyBoard_Quit) + { + check_if_foreground (); + last_was_sigint = 1; + } + SLKeyBoard_Quit = 0; + SLang_set_error (0); + return (int) ch; +} + +/* + * + * Misc Termial stuff + * + * + */ + +/* This is to get the size of the terminal */ +void most_get_term_dimensions(int *cols, int *rows) +{ + SLtt_get_screen_size (); + *rows = SLtt_Screen_Rows; + *cols = SLtt_Screen_Cols; +} + +/* returns 0 on failure, 1 on sucess */ +int most_delete_file(char *filename) +{ +#ifdef VMS + return (1 + delete(filename)); /* 0: sucess; -1 failure */ +#else + return(1 + remove(filename)); +#endif +} + +/* This routine converts unix type names to vms names */ +#ifdef VMS +static int locate(char ch, char *string) +{ + int i; + char c; + + i = 0; + while (c = string[i++], (c != ch) && (c != '\0')); + if (c == ch) return(i); else return (0); +} + +char *most_unix2vms(char *file) +{ + int i,device,j,first,last; + static char vms_name[MAX_PATHLEN]; + char ch; + + if (locate('[',file)) return(file); /* vms_name syntax */ + if (!locate('/',file)) return(file); /* vms_name syntax */ + + /* search for the ':' which means a device is present */ + device = locate(':',file); + + i = 0; + if (device) + { + while (ch = file[i], i < device) vms_name[i++] = ch; + } + j = i; + + /* go from the end looking for a '/' and mark it */ + i = strlen(file) - 1; + while(ch = file[i], ch != '/' && i-- >= 0); + if (ch == '/') + { + file[i] = ']'; + last = 0; + } + else last = 1; + + i = j; + vms_name[j++] = '['; + vms_name[j++] = '.'; + first = 0; + while(ch = file[i++], ch != '\0') + { + switch (ch) + { + case '.': + if (last) vms_name[j++] = '.'; + if (last) break; + ch = file[i++]; + if (ch == '.') + { + if (!first) j--; /* overwrite the dot */ + vms_name[j++] = '-'; + } + else if (ch == '/'); /* './' combinations-- do nothing */ + else if (ch == ']') + { + last = 1; + if (vms_name[j-1] == '.') j--; + vms_name[j++] = ']'; + } + + else vms_name[j++] = '.'; + break; + case '/': + if (first) + { + vms_name[j++] = '.'; + } + else + { + first = 1; + /* if '/' is first char or follows a colon do nothing */ + if ((i!=1) && (file[i-2] != ':')) + { + vms_name[j++] = '.'; + } + else j--; /* overwrite the '.' following '[' */ + } + break; + case ']': + last = 1; + if (vms_name[j-1] == '.') j--; + vms_name[j++] = ']'; + break; + default: + vms_name[j++] = ch; + } + } + return (vms_name); +} + +/* +main(int argc, char **argv) +{ + puts(unix2vms(argv[1])); +} +*/ + +#endif /* VMS */ + +#include + +char *most_get_time() +{ + time_t clk; + char *the_time; + + clk = time((time_t *) 0); + the_time = (char *) ctime(&clk); + /* returns the form Sun Sep 16 01:03:52 1985\n\0 */ + the_time[24] = '\0'; + return(the_time); +} + +void most_set_width (int width, int redraw) +{ +#ifdef IBMPC_SYSTEM + (void) width; (void) redraw; +#else +#ifdef VMS + short fd; + int status; + iosb iostatus; + static termchar tc; /* Terminal characteristics */ + $DESCRIPTOR( devnam, "SYS$ERROR"); +#else +# ifdef TIOCGWINSZ + struct winsize wind_struct; +# endif +#endif + + /* Switching physical terminal to narrow/wide mode.*/ + + if(width <= 80) + { + width = 80; + most_narrow_width(); + } + else + { + width = 132; + most_wide_width(); + } + SLtt_Screen_Cols = width; + +#ifdef VMS + /* Assign input to a channel */ + status = sys$assign(&devnam, &fd, 0, 0); + if ((status & 1) == 0) + exit(status); + /* Get current terminal characteristics */ + status = sys$qiow( /* Queue and wait */ + 0, /* Wait on event flag zero */ + fd, /* Channel to input terminal */ + IO$_SENSEMODE, /* Get current characteristic */ + &iostatus, /* Status after operation */ + 0, 0, /* No AST service */ + &tc, /* Terminal characteristics buf */ + sizeof(tc), /* Size of the buffer */ + 0, 0, 0, 0); /* P3-P6 unused */ + + /*set terminal characteristics */ + tc.t_width=width; + status = sys$qiow( /* Queue and wait */ + 0, /* Wait on event flag zero */ + fd, /* Channel to input terminal */ + IO$_SETMODE, /* Get current characteristic */ + &iostatus, /* Status after operation */ + 0, 0, /* No AST service */ + &tc, /* Terminal characteristics buf */ + sizeof(tc), /* Size of the buffer */ + 0, 0, 0, 0); /* P3-P6 unused */ + + if( (sys$dassgn(fd) & 1)==0) + exit(status); + + /* here we redraw the screen, on unix, we assume that the terminal + * driver sends the appropriate signal that most catches to redraw so we + * do not redraw because it is likely that screen will be redrawn twice */ + + if (redraw) + most_resize_display (); + +#else + (void) redraw; +# ifdef TIOCGWINSZ + /* this may need work on other unix-- works for sun4 */ + if (-1 != ioctl(TTY_DESCR,TIOCGWINSZ,&wind_struct)) + { + wind_struct.ws_col = width; + ioctl(TTY_DESCR,TIOCSWINSZ,&wind_struct); + } +# endif +#endif /* VMS */ +#endif /* NOT IBMPC_SYSTEM */ +} diff --git a/vendor/most-5.1.0/src/sysdep.h b/vendor/most-5.1.0/src/sysdep.h new file mode 100644 index 0000000..6492535 --- /dev/null +++ b/vendor/most-5.1.0/src/sysdep.h @@ -0,0 +1,51 @@ +#ifndef __DAVIS_SYSDEP_H__ +# define __DAVIS_SYSDEP_H__ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ + +# include + +# if defined(sequent) || defined(apollo) +# define HAS_TERMIOS 0 +# else +# define HAS_TERMIOS 1 +# endif + +# ifdef VMS +extern int most_do_emacs_command(void); + +extern int most_do_shell_command(); +extern int most_expand_file_name(char *,char *); +extern char *most_unix2vms(char *); + +# endif /* VMS */ + +extern int most_reinit_terminal (void); +extern void most_init_tty(void); +extern void most_reset_tty(void); +extern int most_getkey(void); +extern void most_get_term_dimensions(int *, int *); +extern int most_delete_file(char *); +extern void most_set_width(int, int); +extern char *most_get_time(void); + +extern void most_resize_display (void); +#endif /* __DAVIS_SYSDEP_H__ */ + diff --git a/vendor/most-5.1.0/src/version.h b/vendor/most-5.1.0/src/version.h new file mode 100644 index 0000000..2e0bcac --- /dev/null +++ b/vendor/most-5.1.0/src/version.h @@ -0,0 +1,24 @@ +/* + This file is part of MOST. + + Copyright (c) 2006-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MOST_VERSION +#define MOST_VERSION 50100 + +#define MOST_VERSION_STR "5.1.0" +#endif /* MOST_VERSION */ diff --git a/vendor/most-5.1.0/src/w32conf.h b/vendor/most-5.1.0/src/w32conf.h new file mode 100644 index 0000000..31aa558 --- /dev/null +++ b/vendor/most-5.1.0/src/w32conf.h @@ -0,0 +1,39 @@ +/* -*- C -*- */ + +/* Note: this is for DJGPP and WIN32 systems only. + * See mostconf.h for other systems, e.g., Unix. + */ + +#ifndef MOST_CONFIG_H +# define MOST_CONFIG_H + +/* define if you have stdlib.h */ +# define HAVE_STDLIB_H 1 + +/* define if you have unistd.h */ +# define HAVE_UNISTD_H 1 + +/* define if you have memory.h */ +# define HAVE_MEMORY_H 1 + +/* define if you have malloc.h */ +# define HAVE_MALLOC_H 1 + +/* define if you have memset */ +# define HAVE_MEMSET 1 + +/* define if you have memcpy */ +# define HAVE_MEMCPY 1 + +/* define if you have this. */ +# define HAVE_GETCWD 1 + +# define HAVE_DIRENT_H 1 + +# define MAX_PATHLEN 1024 + +#define MOST_INT long +#define MOST_UINT unsigned long +#define MOST_INT_D_FMT "%ld" + +#endif /* MOST_CONFIG_H */ diff --git a/vendor/most-5.1.0/src/window.c b/vendor/most-5.1.0/src/window.c new file mode 100644 index 0000000..2575505 --- /dev/null +++ b/vendor/most-5.1.0/src/window.c @@ -0,0 +1,1048 @@ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "config.h" + +#include + +#ifndef VMS +# include +#endif + +#ifdef HAVE_STDLIB_H +# include +#endif + +#ifdef HAVE_UNISTD_H +# include +#endif + +#include +#include "jdmacros.h" + +#include "window.h" +#include "search.h" +#include "display.h" +#include "most.h" +#include "sysdep.h" +#include "file.h" +#include "line.h" + +char *Most_Global_Msg = "Press `Q' to quit, `H' for help, and SPACE to scroll."; + +Most_Window_Type *Most_Win; +Most_Window_Type *Most_Top_Win; +int Most_Top_Line; /* row number of top window */ +int Most_Curs_Row; +int Most_Curs_Col; +int Most_Column = 1; +int Most_Restore_Width_To = 0; +char Most_Mini_Buf[256]; +unsigned long Most_Curs_Offset; + +static int Beep_Mini = 0; +static int Minibuffer_Selected; + +void most_message(char *what, int how) +{ + strcpy (Most_Mini_Buf,what); + if (how) Beep_Mini = 1; else Beep_Mini = 0; +} + +static char *Last_Message; +void most_select_minibuffer() +{ + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_erase_eol (); + /* SLsmg_refresh (); */ + Last_Message = NULL; + Minibuffer_Selected = 1; +} + +void most_exit_minibuffer() +{ +#if 0 + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_erase_eol (); +#endif + Minibuffer_Selected = 0; +} + +static void put_message_1 (char *what) +{ + most_select_minibuffer (); + SLsmg_write_string (what); + most_exit_minibuffer(); + Last_Message = what; +} + +void most_flush_message (char *msg) +{ + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_write_string (msg); + SLsmg_erase_eol (); + SLsmg_refresh (); +} + +void most_put_message () +{ + if (Beep_Mini) SLtt_beep(); + + put_message_1 ((char *) Most_Mini_Buf); + + if (Beep_Mini) + { + SLsmg_refresh (); + /* wait half a second */ + if (SLang_input_pending (5)) + { + (void) most_getkey (); + SLKeyBoard_Quit = 0; + SLang_set_error (0); + } + } + Beep_Mini = 0; + *Most_Mini_Buf = 0; +} + +/* puts 'what in the minibuffer to be edited. */ +/* returns number of chars read */ + +SLang_RLine_Info_Type *Most_RLI; + +#if SLANG_VERSION < 20000 +typedef SLang_RLine_Info_Type SLrline_Type; + +static void rline_update (unsigned char *buf, int len, int col) +{ + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_write_nchars ((char *) buf, len); + SLsmg_erase_eol (); + SLsmg_gotorc (SLtt_Screen_Rows - 1, col); + SLsmg_refresh (); +} +#else +static void rline_update (SLrline_Type *rli, char *prompt, + char *buf, unsigned int len, unsigned int point, + VOID_STAR client_data) +{ + int col; + + (void) client_data; + (void) rli; + + while (1) + { + SLsmg_gotorc (SLtt_Screen_Rows - 1, 0); + SLsmg_write_string (prompt); + SLsmg_write_nchars (buf, point); + col = SLsmg_get_column (); + SLsmg_write_nchars (buf + point, len - point); + if (col < SLtt_Screen_Cols) + break; + buf++; point--; len--; /* FIXME for UTF-8 */ + } + SLsmg_erase_eol (); + SLsmg_gotorc (SLtt_Screen_Rows - 1, col); + SLsmg_refresh (); +} +#endif + +#if SLANG_VERSION < 20000 +static SLang_RLine_Info_Type *init_readline (void) +{ + unsigned char *buf = NULL; + SLang_RLine_Info_Type *rli; + + if ((NULL == (rli = (SLang_RLine_Info_Type *) SLMALLOC (sizeof(SLang_RLine_Info_Type)))) + || (NULL == (buf = (unsigned char *) SLMALLOC (256)))) + { + fprintf(stderr, "malloc error.\n"); + exit(11); + } + + SLMEMSET ((char *) rli, 0, sizeof (SLang_RLine_Info_Type)); + rli->buf = buf; + rli->buf_len = 255; + rli->tab = 8; + rli->dhscroll = 20; + rli->getkey = most_getkey; + rli->tt_goto_column = NULL; + rli->update_hook = rline_update; + + if (SLang_init_readline (rli) < 0) + { + most_exit_error ("Unable to initialize readline library."); + } + + return rli; +} + +static char *SLrline_read_line (SLrline_Type *rli, char *prompt, unsigned int *lenp) +{ + int i; + + rli->prompt = prompt; + i = SLang_read_line (rli); + if (i < 0) + { + *lenp = 0; + return NULL; + } + *lenp = i; + return SLmake_string ((char *)rli->buf); +} + +static int SLrline_set_line (SLrline_Type *rli, char *what) +{ + strcpy ((char *)rli->buf, what); + return 0; +} +#define SLrline_save_line SLang_rline_save_line + +static int SLrline_set_point (SLrline_Type *rli, int point) +{ + rli->point = point; + return 0; +} + +#else +static SLang_RLine_Info_Type *init_readline (void) +{ + SLang_RLine_Info_Type *rli; + unsigned int flags = SL_RLINE_BLINK_MATCH; + + if (Most_UTF8_Mode) + flags |= SL_RLINE_UTF8_MODE; + + if (NULL == (rli = SLrline_open (SLtt_Screen_Cols, flags))) + return NULL; + + (void) SLrline_set_update_hook (rli, rline_update, NULL); + return rli; +} +#endif + +int most_read_from_minibuffer(char *prompt, char *stuff, char *what, unsigned int buflen) +{ + int i = 0; + char *buf; + unsigned int len; + + if (Most_RLI == NULL) + { + Most_RLI = init_readline (); + } +#if SLANG_VERSION < 20000 + Most_RLI->edit_width = SLtt_Screen_Cols - 1; + Most_RLI->prompt = prompt; + *Most_RLI->buf = 0; +#else + SLrline_set_display_width (Most_RLI, SLtt_Screen_Cols); +#endif + + most_select_minibuffer(); + + /* do not use default. The up arrow can always get it back. */ + if (stuff != NULL) + { + if (-1 == SLrline_set_line (Most_RLI, stuff)) + return -1; + + SLrline_set_point (Most_RLI, strlen (stuff)); + } + + buf = SLrline_read_line (Most_RLI, prompt, &len); + + if ((buf != NULL) && (0 == SLang_get_error()) && !SLKeyBoard_Quit) + { + SLrline_save_line (Most_RLI); + strncpy(what, (char *) buf, buflen); + what[buflen-1] = 0; + } + SLfree (buf); + + if (SLKeyBoard_Quit) i = -1; + SLang_set_error (0); + SLKeyBoard_Quit = 0; + + most_exit_minibuffer(); + + if (i == -1) most_message ("Aborted!", 1); + + return i; +} + +void most_clear_minibuffer() +{ + Most_Mini_Buf[0] = '\0'; + Beep_Mini = 0; + most_put_message (); +} + +void most_check_minibuffer () +{ + if (*Most_Mini_Buf) most_put_message (); + else + if (Last_Message != Most_Global_Msg) + put_message_1 (Most_Global_Msg); +} + +static int get_scroll(int *line) +{ + /* line is the line we want at the top of the window if possible */ + int dtop, dbot,n,top,bot,wsize; + + top = Most_Win->beg_line; + wsize = Most_Win->bot - Most_Win->top; /* actually 1 less than window size */ + bot = top + wsize; + + if ((*line == 1) && (top == 1)) + { + Most_Curs_Col = Most_Curs_Row = 1; + if (Most_C_Offset != 0) + { + Most_C_Offset = 0; + Most_C_Line = 1; + return 0; + } + most_message("Top of Buffer.",0); + return(0); + } + + /* handles endof file in a window */ + if ((bot > Most_Num_Lines) && *line > Most_C_Line) + { + *line = top; + most_message("End of Buffer.",1); + return(0); + } + + if (Most_Num_Lines <= wsize) /* short file */ + { + *line = 1; + return(0); + } + + dtop = top - 1; + dbot = Most_Num_Lines - bot; + n = *line - top; + + if ((n>0) && (dbot < n)) + { + n = dbot; + *line = top + n; + if (!n) most_message("End of buffer.",1); + } + else if ((n < 0) && (dtop + n < 0)) + { + n = -dtop; + *line = n + top; + if (!n) + { + Most_Curs_Col = Most_Curs_Row = 1; + if (Most_C_Offset != 0) + { + Most_C_Offset = 0; + Most_C_Line = 1; + return 0; + } + most_message("Top of buffer.",0); + } + } + return(n); +} + +static void check_dirty_flag (void) +{ + if (Most_Win->dirty_flag == 0) return; + + Most_Win->dirty_flag = 0; + /* + Most_Num_Lines = most_count_lines (Most_Beg, Most_Eob); + */ + Most_Win->n_lines = Most_Num_Lines; +} + +void most_update_window (int line) +{ + int save_line, save_col; + unsigned long save_offset; + + most_read_to_line (line); + check_dirty_flag (); + + if (Most_Column != Most_Win->col) + { + if (Most_Column < 1) Most_Column = 1; + if (Most_Column != Most_Win->col) + { + save_offset = Most_Curs_Offset; + save_line = Most_Curs_Row; + save_col = Most_Curs_Col; + most_redraw_window (); + most_update_status (); + Most_Win->curs_offset = Most_Curs_Offset = save_offset; + Most_Win->curs_line = Most_Curs_Row = save_line; + Most_Win->curs_col = Most_Curs_Col = save_col; + } + return; + } + + (void) get_scroll (&line); + + most_goto_line (line); + most_redraw_window (); + most_update_status (); +} + +/* updates current window as well as scroll lock ones */ +/* Although current window is update in an absolute fashion, scroll locked + ones are updated in a relative fashion */ +void most_update_windows (int line) +{ + int dline,flg; + Most_Window_Type *w; + + if (line == -1) + { + check_dirty_flag (); + line = Most_Num_Lines; + } + + dline = line - Most_C_Line; + most_update_window(line); + if (!Most_Win->lock) return; + flg = 0; + w = Most_Win; + while(Most_Win = Most_Win->next, Most_Win != w) + { + if (Most_Win->lock) + { + flg = 1; + most_set_window(Most_Win); + line = Most_C_Line + dline; + most_update_window(line); + } + } + Most_Win = w; + if (flg) most_set_window(Most_Win); +} + +void most_redraw_window (void) +{ + int n, r; + + check_dirty_flag (); + + n = Most_Win->bot - Most_Win->top; + + if ((Most_C_Line + n) > Most_Num_Lines) + most_goto_line (Most_Num_Lines - n); + + Most_Curs_Offset = Most_C_Offset; + Most_Win->curs_offset = Most_Win->top_offset = Most_Curs_Offset; + Most_Win->beg_line = Most_C_Line; + Most_Win->col = Most_Column; + Most_Win->curs_col = Most_Curs_Col = 1; + Most_Win->curs_line = Most_Curs_Row = 1; + + r = Most_Win->top; + most_goto_rc (r, 1); + + most_display_line (1); + + while (n--) + { + r++; + most_goto_rc (r, 1); + + if (most_forward_line(1)) + most_display_line(0); + else + SLsmg_erase_eol (); + } + + Most_C_Offset = Most_Win->top_offset; + Most_C_Line = Most_Win->beg_line; +} + +#define MOST_V_OPT 1 +#define MOST_T_OPT 2 +#define MOST_B_OPT 4 +#define MOST_S_OPT 8 +#define MOST_W_OPT 16 + +/* associates current window with current buffer */ +void most_save_win_flags(Most_Window_Type *w) +{ + w->flags = 0; + if (Most_V_Opt) w->flags |= MOST_V_OPT; + if (Most_B_Opt) w->flags |= MOST_B_OPT; + if (Most_T_Opt) w->flags |= MOST_T_OPT; + if (Most_W_Opt) w->flags |= MOST_W_OPT; + if (Most_S_Opt) w->flags |= MOST_S_OPT; + w->n_lines = Most_Num_Lines; + w->display = Most_Selective_Display; +} + +void most_window_buffer() +{ + Most_Win->beg_line = Most_C_Line; + Most_Win->top_offset = Most_C_Offset; + Most_Win->col = Most_Column; + Most_Win->buf = Most_Buf; + Most_Selective_Display = 0; + most_save_win_flags(Most_Win); + + Most_Curs_Row = Most_Win->curs_line = 1; + Most_Curs_Col = Most_Win->curs_col = 1; + Most_Curs_Offset = Most_Win->curs_offset = Most_Win->top_offset; +} + +static void restore_win_flags (void) +{ + Most_V_Opt = Most_Win->flags & MOST_V_OPT; + Most_B_Opt = Most_Win->flags & MOST_B_OPT; + Most_T_Opt = Most_Win->flags & MOST_T_OPT; + Most_W_Opt = Most_Win->flags & MOST_W_OPT; + Most_S_Opt = Most_Win->flags & MOST_S_OPT; + Most_Num_Lines = Most_Win->n_lines; + Most_Selective_Display = Most_Win->display; +} + +static Most_Window_Type *make_window(int r1,int r2) +{ + Most_Window_Type *neew; + + neew = (Most_Window_Type *) MOSTMALLOC(sizeof(Most_Window_Type)); + SLMEMSET ((char *) neew, 0, sizeof (Most_Window_Type)); +#if 0 + neew->status = (char *) MOSTMALLOC(256); + SLMEMSET (neew->status, 0, SLtt_Screen_Cols + 1); +#endif + neew->col = Most_Column; + neew->top = r1; + neew->bot = r2; + neew->lock = 0; + neew->buf = NULL; + most_save_win_flags(neew); + neew->dirty_flag = 1; + return(neew); +} + +int Most_Display_Inited = 0; + +static void error_hook (char *msg) +{ + most_message (msg, 1); +} + +void most_init_display () +{ + int h = SLtt_Screen_Rows; + + if (Most_Display_Inited) return; + Most_Display_Inited = 1; + + most_get_term_dimensions(&SLtt_Screen_Cols, &SLtt_Screen_Rows); + + if (Most_Win == NULL) + { + Most_Top_Win = Most_Win = make_window(1,SLtt_Screen_Rows - 2); + Most_Win->prev = Most_Win->next = Most_Win; + } + else if (h > SLtt_Screen_Rows) most_resize_display (); + else Most_Top_Win->prev->bot = SLtt_Screen_Rows - 2; + + SLsmg_init_smg (); + SLang_Error_Hook = error_hook; + + most_goto_rc (Most_Win->top,1); + Most_Display_Inited = 1; + /* SLsmg_refresh (); */ +} + +void most_reset_display() +{ + if (Most_Display_Inited == 0) return; + SLsmg_reset_smg (); + + if (Most_Restore_Width_To) + { + most_set_width(Most_Restore_Width_To, 0); + Most_Restore_Width_To = 0; + } + + Most_Display_Inited = 0; +} + +static void update_status1 (void) +{ + char info[256]; + char buf[32]; + char *file; + unsigned int len; + unsigned int num_chars; + unsigned int field_width, info_len; + unsigned char *eob; + int r; + MOST_INT x; + + eob = Most_Eob; +#if MOST_HAS_MMAP + if (Most_Buf->is_mmaped) + eob = Most_Beg + Most_Buf->mmap_size; +#endif + + if (eob == Most_Beg) x = 100; + else + { + x = Most_C_Offset * 100; + x = x / (eob - Most_Beg); + } + + if (Most_C_Line + (Most_Win->bot - Most_Win->top + 1) >= Most_Num_Lines) + x = 100; + + /* for files with end of file above the bottom row (due to window manipulations) */ + if (x > 100) x = 100; + + sprintf (info, "(" MOST_INT_D_FMT ",%d) " MOST_INT_D_FMT "%%", + Most_C_Line, Most_Column, x); + + r = Most_Win->bot + 1; + most_goto_rc (r,1); + + most_tt_reverse_video (); + + buf[0] = '-'; + if (Most_Win->lock) buf[1] = '*'; else buf[1] = '-'; + strcpy (buf + 2, " MOST: "); + + num_chars = strlen (buf); + SLsmg_write_nchars (buf, num_chars); + + /* So far num_chars have been written out. We would like to put the + * line number information about info_len charcters from the RHS of the + * screen. This leaves a field width of + * SLtt_Screen_Cols - (16 + num_chars) for the filename. + */ + info_len = strlen (info); + field_width = 12; + if (info_len > field_width) + field_width = info_len; + field_width = field_width + num_chars; + if (field_width > (unsigned int)SLtt_Screen_Cols) + field_width = 0; + else + field_width = (unsigned int)SLtt_Screen_Cols - field_width; + + file = Most_Win->buf->file; + len = strlen (file); + + if (len >= field_width) + { + /* Filename does not fit. So, only display the trailing characters + * of the Filename. Indicate this with ... + */ + if (field_width > 3) + { + buf[0] = '.'; + buf[1] = '.'; + buf[2] = '.'; + SLsmg_write_nchars (buf, 3); + + len += 3; + } + + file += (len - field_width); + } + SLsmg_write_string (file); + SLsmg_erase_eol (); + + most_goto_rc (r, num_chars + field_width + 1); + + SLsmg_write_nchars (info, info_len); + most_tt_normal_video(); +} + +void most_update_status (void) +{ + check_dirty_flag (); + + Most_C_Line = Most_Win->beg_line; + Most_C_Offset = Most_Win->top_offset; + /* most_set_scroll_region(1,SLtt_Screen_Rows); */ + update_status1(); + /* most_set_scroll_region(Most_Win->top,Most_Win->bot); */ + /* SLsmg_refresh (); */ +} + +/* splits window-- no screen update, does not affect scrolling region */ +int most_split_window (void) +{ + Most_Window_Type *neew; + int b2,t2,b1, line; + + b2 = Most_Win->bot; + b1 = (Most_Win->bot + Most_Win->top) / 2 - 1; + t2 = b1 + 2; + if ((b1 == Most_Win->top) || (t2 == b2)) return(0); + + /* line is top line of new window. */ + line = Most_Win->beg_line + t2 - Most_Win->top; + Most_Win->bot = b1; + neew = make_window(t2,b2); + /* add to ring */ + Most_Win->next->prev = neew; + neew->next = Most_Win->next; + neew->prev = Most_Win; + Most_Win->next = neew; + + neew->beg_line = line; + neew->buf = Most_Buf; +#if 0 + /* new window status line is at same position as old */ + strcpy(neew->status,Most_Win->status); +#endif + return(1); +} + +void most_two_windows() +{ + int line; + Most_Window_Type *nnew, *old; + if (!most_split_window()) return; + + old = Most_Win; + nnew = Most_Win->next; + line = nnew->beg_line; + if (line + nnew->bot - nnew->top > Most_Num_Lines) + { + most_other_window(1); + /* since split window left nnew window undefined... */ + Most_C_Offset = old->top_offset; + Most_C_Line = old->beg_line; + if (Most_Num_Lines <= nnew->bot - nnew->top + 1) + { + Most_C_Line = nnew->beg_line = 1; + Most_C_Offset = 0; + nnew->top_offset = 0; + most_redraw_window(); + most_update_status(); + } + else if (line > Most_Num_Lines) + { + most_goto_line(Most_Num_Lines - nnew->bot + nnew->top); + Most_Win->top_offset = Most_C_Offset; + Most_Win->beg_line = Most_C_Line; + most_redraw_window(); + most_update_status(); + } + else + { + most_goto_line(line); + Most_Win->top_offset = Most_C_Offset; + Most_Win->beg_line = Most_C_Line; + most_update_window(Most_Num_Lines - nnew->bot + nnew->top); + } + Most_Win->curs_line = 1; + Most_Win->curs_col = Most_Column; + Most_Win->curs_offset = Most_C_Offset; + most_other_window(-1); + } + else + { + Most_Win = nnew; + (void) most_forward_line(line - old->beg_line); + nnew->beg_line = Most_C_Line; + nnew->curs_line = 1; + nnew->curs_col = Most_Column; + nnew->top_offset = Most_C_Offset; + nnew->curs_offset = Most_C_Offset; + most_update_status(); + Most_Win = old; + } + most_update_status(); +} + +static void delete_other_windows (void) +{ + Most_Window_Type *w, *tmp; + + if (Most_Win->next == Most_Win) return; + w = Most_Win; + Most_Win = Most_Win->next; + /* delete other windows preserving the ring! */ + while (Most_Win != w) + { + most_free_window_buffer(); /* needs a ring */ + tmp = Most_Win->next; +#if 0 + /* if this is the bottom window, save its status line */ + if (tmp == Most_Top_Win) strcpy(w->status,Most_Win->status); +#endif + tmp->prev = Most_Win->prev; + Most_Win->prev->next = tmp; +#if 0 + SLFREE(Most_Win->status); +#endif + SLFREE(Most_Win); + Most_Win = tmp; + } + Most_Win = w; +} + +void most_one_window () +{ + /* Note: This is called from a SIGWINCH signal handler. As a result, make + * sure that top, bot is set. + */ + if (Most_Win->next != Most_Win) + delete_other_windows (); + + Most_Win->top = 1; + Most_Win->bot = SLtt_Screen_Rows - 2; + if (Most_Win->bot < 1) + Most_Win->bot = 1; + + Most_Top_Win = Most_Win; + most_redraw_window(); + most_update_status(); +} + +void most_set_window (Most_Window_Type *w) +{ + Most_Win = w; + + if (Most_Win->buf == NULL) + { + Most_Win->buf = Most_Buf; + if (Most_Buf == NULL) + return; + } + + most_switch_to_buffer(Most_Win->buf); + + Most_C_Offset = Most_Win->top_offset; + Most_Curs_Offset = Most_Win->curs_offset; + Most_Curs_Row = Most_Win->curs_line; + Most_Curs_Col = Most_Win->curs_col; + Most_C_Line = Most_Win->beg_line; + Most_Column = Most_Win->col; + restore_win_flags(); + check_dirty_flag (); + most_point_cursor (); +} + +void most_other_window(int n) +{ + if (!n) return; + Most_Win->top_offset = Most_C_Offset; + Most_Win->curs_offset = Most_Curs_Offset; + Most_Win->curs_line = Most_Curs_Row; + Most_Win->curs_col = Most_Curs_Col; + Most_Win->beg_line = Most_C_Line; + Most_Win->col = Most_Column; + + most_save_win_flags(Most_Win); + if (n < 0) + while (n++) Most_Win = Most_Win->prev; + else + while (n--) Most_Win = Most_Win->next; + most_set_window(Most_Win); +} + +/* kills window by moving lower window up */ +static void delete_as_top_window (void) +{ + int t = Most_Win->top; + + Most_Win->prev->next = Most_Win->next; + Most_Win->next->prev = Most_Win->prev; + + most_other_window(1); + Most_Win->top = t; + most_redraw_window(); + most_update_status(); +} + +/* free buffer for this window if no other windows are viewing it. */ +void most_free_window_buffer (void) +{ + Most_Window_Type *w; + Most_Buffer_Type *b; + + w = Most_Win->next; + + while(Most_Win != w) + { + if (Most_Win->buf == w->buf) return; + w = w->next; + } + b = w->buf; + if (b == NULL) return; + + most_close_buffer_file (b); + Most_Win->buf = NULL; + SLFREE(b); +} + +void most_free_windows (void) +{ + Most_Window_Type *w; + + while (Most_Win != NULL) + { + most_free_window_buffer (); + w = Most_Win->next; + w->prev = Most_Win->prev; + Most_Win->prev->next = w; +#if 0 + SLFREE (Most_Win->status); +#endif + SLFREE (Most_Win); + if (w == Most_Win) w = NULL; + Most_Win = w; + } + + Most_Buf = NULL; + Most_Beg = Most_Eob = NULL; + Most_C_Line = 0; + Most_Num_Lines = Most_C_Line = 0; +} + +void most_delete_window (void) +{ + int new_b; + Most_Window_Type *w; + + w = Most_Win; + if (Most_Win->next == Most_Win) return; + most_free_window_buffer(); + + if (Most_Win->next != Most_Top_Win) + { + if (Most_Win == Most_Top_Win) + { + delete_as_top_window (); + Most_Top_Win = Most_Win; /* not anymore, this one is */ + } + else + delete_as_top_window(); +#if 0 + SLFREE(w->status); +#endif + SLFREE(w); + return; + } + + new_b = Most_Win->bot; + most_other_window(-1); + Most_Win->bot = new_b; + most_redraw_window(); + +#if 0 + strcpy(Most_Win->status,w->status); /* share the same line */ +#endif + + Most_Win->next = w->next; + Most_Win->next->prev = Most_Win; + +#if 0 + SLFREE (w->status); +#endif + SLFREE(w); + + most_update_status(); +} + +void most_redraw_display (void) +{ + Most_Window_Type *w; + int n,t; + + SLsmg_cls (); + + Last_Message = NULL; + most_save_win_flags(Most_Win); + w = Most_Win; + do + { + Most_Win = Most_Win->next; + most_switch_to_buffer(Most_Win->buf); + Most_C_Offset = Most_Win->top_offset; + Most_C_Line = Most_Win->beg_line; + Most_Column = Most_Win->col; + + restore_win_flags(); + n = Most_Win->bot - Most_Win->top; + + check_dirty_flag (); + + t = Most_Win->top; + most_goto_rc(t, 1); + most_display_line(1); + + while (n--) + { + t++; + most_goto_rc (t, 1); + if (most_forward_line(1)) most_display_line(0); + } + Most_C_Line = Most_Win->beg_line; + Most_C_Offset = Most_Win->top_offset; + update_status1(); + } + while(Most_Win != w); + + most_set_window(w); + + if (Minibuffer_Selected) + { + most_select_minibuffer (); + SLtt_write_string ((char *) Most_Mini_Buf); + } + SLsmg_refresh (); +} + +void most_toggle_lock() +{ + Most_Win->lock = !(Most_Win->lock); + most_update_status(); +} + +void most_point_cursor (void) +{ + int r, c; + + c = Most_Curs_Col - Most_Column + 1; + r = Most_Curs_Row; + + if (r < 1) r = 1; + else if (r > (Most_Win->bot - Most_Win->top + 1)) + r = Most_Win->bot - Most_Win->top + 1; + + if (c > SLtt_Screen_Cols) c = SLtt_Screen_Cols; + else if (c < 1) c = 1; + + most_goto_rc (r + Most_Win->top - 1, c); +} + diff --git a/vendor/most-5.1.0/src/window.h b/vendor/most-5.1.0/src/window.h new file mode 100644 index 0000000..362bbef --- /dev/null +++ b/vendor/most-5.1.0/src/window.h @@ -0,0 +1,88 @@ +#ifndef _DAVIS_WINDOW_H_ +# define _DAVIS_WINDOW_H_ +/* + This file is part of MOST. + + Copyright (c) 1991, 1999, 2002, 2005-2018, 2019 John E. Davis + + 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., 675 + Mass Ave, Cambridge, MA 02139, USA. +*/ +# include "buffer.h" + +typedef struct _Most_Window_Type +{ + unsigned long top_offset; /* offset of top line of window from bob */ + int beg_line; /* line number of top */ + int curs_line; /* line number of curs pos */ + int curs_col; /* column number of curs pos */ + unsigned long curs_offset; /* pos of cursor from bob*/ + int col; /* column offset */ + int n_lines; /* number of lines of buffer (mode dependent) */ + int top; /* screen location of top */ + int bot; /* screen location of bot */ + int display; /* value of MOST_S_OPT for selective display */ +#if 0 + char *status; /* status line */ +#endif + Most_Buffer_Type *buf; /* buffer structure in window */ + struct _Most_Window_Type *next; /* next window */ + struct _Most_Window_Type *prev; /* prev window */ + int flags; /* Squeeze lines, etc.. */ + int lock; /* true if locked */ + int dirty_flag; +} +Most_Window_Type; + +extern Most_Window_Type *Most_Win; +extern Most_Window_Type *Most_Top_Win; +extern unsigned long Most_Curs_Offset; +extern int Most_Column; +extern int Most_Curs_Row; +extern int Most_Curs_Col; +#define MOST_MINI_BUF_LEN 256 +extern char Most_Mini_Buf[MOST_MINI_BUF_LEN]; +extern int Most_Selective_Display; +extern int Most_Restore_Width_To; +extern int Most_Display_Inited; + +extern int most_split_window (void); +extern void most_toggle_lock(void); +extern void most_update_window(int); /* moves window to have arg lines on the top */ +extern void most_update_status(void); +extern void most_redraw_window(void); /* redraws window updating the structure */ +extern void most_window_buffer(void); +extern void most_init_display(void); +extern void most_reset_display(void); +extern void most_other_window(int); +extern void most_set_window (Most_Window_Type *); +extern void most_update_windows(int); +extern void most_message(char *, int); +extern void most_put_message(void); +extern void most_clear_minibuffer(void); +extern void most_check_minibuffer(void); +extern void most_free_window_buffer(void); +extern void most_select_minibuffer(void); +extern void most_exit_minibuffer(void); +extern int most_read_from_minibuffer(char *, char *, char *, unsigned int); +extern void most_redraw_display(void); +extern void most_one_window(void); +extern void most_two_windows(void); +extern void most_delete_window(void); +extern void most_save_win_flags(Most_Window_Type *); +extern void most_free_windows (void); +extern void most_flush_message (char *); +extern void most_point_cursor (void); +#endif +